You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rename Otherworldly Appendages to Cryogenesis, add new stats (#9517)
* Rename Otherworldly Appendages to Cryogenesis, add new stats
3.28 replaces the old graft damage reduction stats with:
- Int single highest attribute: all added damage treated as Lightning
- Dex single highest attribute: all added damage treated as Cold
Updated tree data (all 4 variants), added ModParser entries,
single-highest-attribute conditions in CalcPerform, and flat
added damage redirection in CalcOffence.
* Revert tree changes
* Add ConvertMod to ModStore/ModList/ModDB
Like ReplaceMod but matches by oldName instead of the new mod's name,
so it can change a mod's identity (e.g. FireMin -> ColdMin) rather
than just updating its value. ModDB moves the mod between name buckets.
* Rework Cryogenesis to use ConvertMod, match 3.28 tree wording
ModParser entries now match the actual 3.28 tree text instead of
guessed wording. Handles the "Lighting" typo with a pattern.
CalcOffence uses ConvertMod to redirect added damage mods before the
damage loop so breakdowns show the source properly. Base Elemental
Hit is excluded per the node text.
Added ConvertMod to ModStore/ModList/ModDB - like ReplaceMod but
matches by oldName so it can change a mod's identity.
* Update ModCache entries for Cryogenesis ascendancy mods
The old cache had these 3.28 tree lines stored as parse failures
from before the ModParser entries existed. Since the cache uses
exact-case text as the key, the tree's mixed-case text always
hit the stale entry and returned "unsupported" without reaching
the new specialModList patterns.
Replaced 3 individual entries with correct parsed results and
removed 3 concatenated multi-line entries that were never going
to match anyway.
* Use offset mods for Cryogenesis redirect, label source
Replaced ConvertMod approach with sum-and-offset: for each non-target
damage type, add a negative mod to cancel the original and a positive
mod on the target type. Both labeled "Cryogenesis Conversion" so the
breakdown popup shows where the redirected damage comes from.
Removed ConvertMod/ConvertModInternal from ModStore/ModList/ModDB
since nothing uses them anymore.
* Revert "Use offset mods for Cryogenesis redirect, label source"
This reverts commit baee98d.
* Fix Ele Hit handling and breakdown
Only the base damage granted via ele hit is not meant to be converted. Mods from gear are meant to work still
The breakdown now shows a note on the mods that are converted that the cryogenesis node is what is changing them
---------
Co-authored-by: LocalIdentity <localidentity2@gmail.com>
Copy file name to clipboardExpand all lines: src/Data/ModCache.lua
+3-6Lines changed: 3 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -8413,7 +8413,7 @@ c["Elemental Ailments you inflict are Reflected to you Elemental Damage with Hit
8413
8413
c["Elemental Damage with Hits is Lucky while you are Shocked"]={{[1]={[1]={type="Condition",var="Shocked"},flags=0,keywordFlags=0,name="ElementalLuckHits",type="FLAG",value=true}},nil}
8414
8414
c["Elemental Damage you Deal with Hits is Resisted by lowest Elemental Resistance instead"]={{[1]={flags=0,keywordFlags=0,name="ElementalDamageUsesLowestResistance",type="FLAG",value=true}},nil}
c["Elemental Resistance values as inverted"]={nil,"Elemental Resistance values as inverted "}
8419
8419
c["Elemental Resistance values as inverted Limited to 1 Runegraft of the Gauche"]={nil,"Elemental Resistance values as inverted Limited to 1 Runegraft of the Gauche "}
@@ -12583,11 +12583,8 @@ c["You count as on Low Life while you are Cursed with Vulnerability"]={{[1]={[1]
12583
12583
c["You do not inherently take less Damage for having Fortification"]={{[1]={flags=0,keywordFlags=0,name="Condition:NoFortificationMitigation",type="FLAG",value=true}},nil}
12584
12584
c["You gain 3 Grasping Vines when you take a Critical Strike"]={{}," Grasping Vines when you take a Critical Strike "}
12585
12585
c["You gain 3 Grasping Vines when you take a Critical Strike Nearby stationary Enemies gain a Grasping Vine every 0.5 seconds"]={{}," Grasping Vines when you take a Critical Strike Nearby stationary Enemies gain a Grasping Vine every 0.5 seconds "}
12586
-
c["You gain Added Cold Damage instead of Added Damage of other types if Dexterity exceeds both other Attributes"]={nil,"Added Cold Damage instead of Added Damage of other types if Dexterity exceeds both other Attributes "}
12587
-
c["You gain Added Cold Damage instead of Added Damage of other types if Dexterity exceeds both other Attributes You gain Added Lighting Damage instead of Added Damage of other types if Intelligence exceeds both other Attributes"]={nil,"Added Cold Damage instead of Added Damage of other types if Dexterity exceeds both other Attributes You gain Added Lighting Damage instead of Added Damage of other types if Intelligence exceeds both other Attributes "}
12588
-
c["You gain Added Cold Damage instead of Added Damage of other types if Dexterity exceeds both other Attributes You gain Added Lighting Damage instead of Added Damage of other types if Intelligence exceeds both other Attributes Elemental Hit's Added Damage cannot be replaced this way"]={nil,"Added Cold Damage instead of Added Damage of other types if Dexterity exceeds both other Attributes You gain Added Lighting Damage instead of Added Damage of other types if Intelligence exceeds both other Attributes Elemental Hit's Added Damage cannot be replaced this way "}
12589
-
c["You gain Added Lighting Damage instead of Added Damage of other types if Intelligence exceeds both other Attributes"]={nil,"Added Lighting Damage instead of Added Damage of other types if Intelligence exceeds both other Attributes "}
12590
-
c["You gain Added Lighting Damage instead of Added Damage of other types if Intelligence exceeds both other Attributes Elemental Hit's Added Damage cannot be replaced this way"]={nil,"Added Lighting Damage instead of Added Damage of other types if Intelligence exceeds both other Attributes Elemental Hit's Added Damage cannot be replaced this way "}
12586
+
c["You gain Added Cold Damage instead of Added Damage of other types if Dexterity exceeds both other Attributes"]={{[1]={[1]={type="Condition",var="DexSingleHighestAttribute"},flags=0,keywordFlags=0,name="AllAddedDamageAsCold",type="FLAG",value=true}},nil}
12587
+
c["You gain Added Lighting Damage instead of Added Damage of other types if Intelligence exceeds both other Attributes"]={{[1]={[1]={type="Condition",var="IntSingleHighestAttribute"},flags=0,keywordFlags=0,name="AllAddedDamageAsLightning",type="FLAG",value=true}},nil}
12591
12588
c["You gain Divinity for 10 seconds on reaching maximum Divine Charges"]={{[1]={[1]={type="Condition",var="Divinity"},flags=0,keywordFlags=0,name="ElementalDamage",type="MORE",value=75},[2]={[1]={type="Condition",var="Divinity"},flags=0,keywordFlags=0,name="ElementalDamageTaken",type="MORE",value=-25}},nil}
12592
12589
c["You gain Onslaught for 1 seconds on Killing Taunted Enemies"]={{[1]={[1]={type="Condition",var="KilledTauntedEnemyRecently"},flags=0,keywordFlags=0,name="Condition:Onslaught",type="FLAG",value=true}},nil}
12593
12590
c["You gain Onslaught for 1 seconds per Endurance Charge when Hit"]={{[1]={[1]={type="Multiplier",var="EnduranceCharge"},flags=0,keywordFlags=0,name="Condition:Onslaught",type="FLAG",value=true}}," when Hit "}
0 commit comments