Skip to content

Commit bd4089a

Browse files
authored
Update mod parsing for "+X% of Armour applies..." (#1251)
New passive tree nodes were introduced and wording on some of the existing mods was changed. to now include a "+" or "also"
1 parent 8e89ba8 commit bd4089a

2 files changed

Lines changed: 16 additions & 16 deletions

File tree

src/Data/ModCache.lua

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -146,9 +146,9 @@ c["+10 to Strength and Dexterity"]={{[1]={flags=0,keywordFlags=0,name="Str",type
146146
c["+10 to all Attributes"]={{[1]={flags=0,keywordFlags=0,name="Str",type="BASE",value=10},[2]={flags=0,keywordFlags=0,name="Dex",type="BASE",value=10},[3]={flags=0,keywordFlags=0,name="Int",type="BASE",value=10},[4]={flags=0,keywordFlags=0,name="All",type="BASE",value=10}},nil}
147147
c["+10 to maximum Energy Shield"]={{[1]={flags=0,keywordFlags=0,name="EnergyShield",type="BASE",value=10}},nil}
148148
c["+10 to maximum Mana"]={{[1]={flags=0,keywordFlags=0,name="Mana",type="BASE",value=10}},nil}
149-
c["+10% of Armour also applies to Cold Damage"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="BASE",value=10}}," also applies to Cold Damage "}
150-
c["+10% of Armour also applies to Fire Damage"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="BASE",value=10}}," also applies to Fire Damage "}
151-
c["+10% of Armour also applies to Lightning Damage"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="BASE",value=10}}," also applies to Lightning Damage "}
149+
c["+10% of Armour also applies to Cold Damage"]={{[1]={flags=0,keywordFlags=0,name="ArmourAppliesToColdDamageTaken",type="BASE",value=10}},nil}
150+
c["+10% of Armour also applies to Fire Damage"]={{[1]={flags=0,keywordFlags=0,name="ArmourAppliesToFireDamageTaken",type="BASE",value=10}},nil}
151+
c["+10% of Armour also applies to Lightning Damage"]={{[1]={flags=0,keywordFlags=0,name="ArmourAppliesToLightningDamageTaken",type="BASE",value=10}},nil}
152152
c["+10% to Block chance"]={{[1]={flags=0,keywordFlags=0,name="BlockChance",type="BASE",value=10}},nil}
153153
c["+10% to Chaos Resistance"]={{[1]={flags=0,keywordFlags=0,name="ChaosResist",type="BASE",value=10}},nil}
154154
c["+10% to Chaos Resistance per Socket filled"]={{[1]={[1]={type="Multiplier",var="RunesSocketedIn{SlotName}"},flags=0,keywordFlags=0,name="ChaosResist",type="BASE",value=10}},nil}
@@ -216,10 +216,10 @@ c["+15 to all Attributes"]={{[1]={flags=0,keywordFlags=0,name="Str",type="BASE",
216216
c["+15 to maximum Energy Shield"]={{[1]={flags=0,keywordFlags=0,name="EnergyShield",type="BASE",value=15}},nil}
217217
c["+15 to maximum Life"]={{[1]={flags=0,keywordFlags=0,name="Life",type="BASE",value=15}},nil}
218218
c["+15 to maximum Mana"]={{[1]={flags=0,keywordFlags=0,name="Mana",type="BASE",value=15}},nil}
219-
c["+15% of Armour also applies to Cold Damage"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="BASE",value=15}}," also applies to Cold Damage "}
220-
c["+15% of Armour also applies to Elemental Damage"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="BASE",value=15}}," also applies to Elemental Damage "}
221-
c["+15% of Armour also applies to Fire Damage"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="BASE",value=15}}," also applies to Fire Damage "}
222-
c["+15% of Armour also applies to Lightning Damage"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="BASE",value=15}}," also applies to Lightning Damage "}
219+
c["+15% of Armour also applies to Cold Damage"]={{[1]={flags=0,keywordFlags=0,name="ArmourAppliesToColdDamageTaken",type="BASE",value=15}},nil}
220+
c["+15% of Armour also applies to Elemental Damage"]={{[1]={flags=0,keywordFlags=0,name="ArmourAppliesToFireDamageTaken",type="BASE",value=15},[2]={flags=0,keywordFlags=0,name="ArmourAppliesToColdDamageTaken",type="BASE",value=15},[3]={flags=0,keywordFlags=0,name="ArmourAppliesToLightningDamageTaken",type="BASE",value=15}},nil}
221+
c["+15% of Armour also applies to Fire Damage"]={{[1]={flags=0,keywordFlags=0,name="ArmourAppliesToFireDamageTaken",type="BASE",value=15}},nil}
222+
c["+15% of Armour also applies to Lightning Damage"]={{[1]={flags=0,keywordFlags=0,name="ArmourAppliesToLightningDamageTaken",type="BASE",value=15}},nil}
223223
c["+15% to Block chance"]={{[1]={flags=0,keywordFlags=0,name="BlockChance",type="BASE",value=15}},nil}
224224
c["+15% to Chaos Resistance"]={{[1]={flags=0,keywordFlags=0,name="ChaosResist",type="BASE",value=15}},nil}
225225
c["+15% to Cold Resistance"]={{[1]={flags=0,keywordFlags=0,name="ColdResist",type="BASE",value=15}},nil}
@@ -643,12 +643,10 @@ c["+30 to maximum Energy Shield"]={{[1]={flags=0,keywordFlags=0,name="EnergyShie
643643
c["+30 to maximum Life"]={{[1]={flags=0,keywordFlags=0,name="Life",type="BASE",value=30}},nil}
644644
c["+30 to maximum Mana"]={{[1]={flags=0,keywordFlags=0,name="Mana",type="BASE",value=30}},nil}
645645
c["+30 to maximum Mana per Socket filled"]={{[1]={[1]={type="Multiplier",var="RunesSocketedIn{SlotName}"},flags=0,keywordFlags=0,name="Mana",type="BASE",value=30}},nil}
646-
c["+30% of Armour also applies to Cold Damage"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="BASE",value=30}}," also applies to Cold Damage "}
647-
c["+30% of Armour also applies to Elemental Damage"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="BASE",value=30}}," also applies to Elemental Damage "}
648-
c["+30% of Armour also applies to Fire Damage"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="BASE",value=30}}," also applies to Fire Damage "}
649-
c["+30% of Armour also applies to Fire Damage 30% reduced Magnitude of Ignite on you"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="BASE",value=30}}," also applies to Fire Damage 30% reduced Magnitude of Ignite on you "}
650-
c["+30% of Armour also applies to Lightning Damage"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="BASE",value=30}}," also applies to Lightning Damage "}
651-
c["+30% of Armour also applies to Lightning Damage 30% reduced effect of Shock on you"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="BASE",value=30}}," also applies to Lightning Damage 30% reduced effect of Shock on you "}
646+
c["+30% of Armour also applies to Cold Damage"]={{[1]={flags=0,keywordFlags=0,name="ArmourAppliesToColdDamageTaken",type="BASE",value=30}},nil}
647+
c["+30% of Armour also applies to Elemental Damage"]={{[1]={flags=0,keywordFlags=0,name="ArmourAppliesToFireDamageTaken",type="BASE",value=30},[2]={flags=0,keywordFlags=0,name="ArmourAppliesToColdDamageTaken",type="BASE",value=30},[3]={flags=0,keywordFlags=0,name="ArmourAppliesToLightningDamageTaken",type="BASE",value=30}},nil}
648+
c["+30% of Armour also applies to Fire Damage"]={{[1]={flags=0,keywordFlags=0,name="ArmourAppliesToFireDamageTaken",type="BASE",value=30}},nil}
649+
c["+30% of Armour also applies to Lightning Damage"]={{[1]={flags=0,keywordFlags=0,name="ArmourAppliesToLightningDamageTaken",type="BASE",value=30}},nil}
652650
c["+30% to Cold Resistance"]={{[1]={flags=0,keywordFlags=0,name="ColdResist",type="BASE",value=30}},nil}
653651
c["+30% to Critical Damage Bonus"]={{[1]={flags=0,keywordFlags=0,name="CritMultiplier",type="BASE",value=30}},nil}
654652
c["+30% to Fire Resistance"]={{[1]={flags=0,keywordFlags=0,name="FireResist",type="BASE",value=30}},nil}
@@ -736,7 +734,7 @@ c["+5 to Strength and Intelligence"]={{[1]={flags=0,keywordFlags=0,name="Str",ty
736734
c["+5 to all Attributes"]={{[1]={flags=0,keywordFlags=0,name="Str",type="BASE",value=5},[2]={flags=0,keywordFlags=0,name="Dex",type="BASE",value=5},[3]={flags=0,keywordFlags=0,name="Int",type="BASE",value=5},[4]={flags=0,keywordFlags=0,name="All",type="BASE",value=5}},nil}
737735
c["+5 to any Attribute"]={{},nil}
738736
c["+5 to maximum Energy Shield"]={{[1]={flags=0,keywordFlags=0,name="EnergyShield",type="BASE",value=5}},nil}
739-
c["+5% of Armour also applies to Elemental Damage"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="BASE",value=5}}," also applies to Elemental Damage "}
737+
c["+5% of Armour also applies to Elemental Damage"]={{[1]={flags=0,keywordFlags=0,name="ArmourAppliesToFireDamageTaken",type="BASE",value=5},[2]={flags=0,keywordFlags=0,name="ArmourAppliesToColdDamageTaken",type="BASE",value=5},[3]={flags=0,keywordFlags=0,name="ArmourAppliesToLightningDamageTaken",type="BASE",value=5}},nil}
740738
c["+5% to Block chance"]={{[1]={flags=0,keywordFlags=0,name="BlockChance",type="BASE",value=5}},nil}
741739
c["+5% to Chaos Resistance"]={{[1]={flags=0,keywordFlags=0,name="ChaosResist",type="BASE",value=5}},nil}
742740
c["+5% to Cold Resistance"]={{[1]={flags=0,keywordFlags=0,name="ColdResist",type="BASE",value=5}},nil}

src/Modules/ModParser.lua

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2338,13 +2338,15 @@ local specialModList = {
23382338
mod("ArmourAppliesToColdDamageTaken", "BASE", 100),
23392339
mod("ArmourAppliesToLightningDamageTaken", "BASE", 100),
23402340
},
2341-
["(%d+)%% of armour applies to elemental damage"] = function(num) return {
2341+
["%+?(%d+)%% of armour (a?l?s?o? ?)applies to elemental damage"] = function(num) return {
23422342
mod("ArmourAppliesToFireDamageTaken", "BASE", num),
23432343
mod("ArmourAppliesToColdDamageTaken", "BASE", num),
23442344
mod("ArmourAppliesToLightningDamageTaken", "BASE", num),
23452345
} end,
23462346
["armour also applies to (%a+) damage taken from hits"] = function(_, dmgType) return { mod("ArmourAppliesTo"..firstToUpper(dmgType).."DamageTaken", "BASE", 100) } end,
2347-
["(%d+)%% of armour also applies to (%a+) damage taken from hits"] = function(num, _, dmgType) return { mod("ArmourAppliesTo"..firstToUpper(dmgType).."DamageTaken", "BASE", num) } end,
2347+
["armour also applies to (%a+) damage"] = function(_, dmgType) return { mod("ArmourAppliesTo"..firstToUpper(dmgType).."DamageTaken", "BASE", 100) } end,
2348+
["%+?(%d+)%% of armour also applies to (%a+) damage taken from hits"] = function(num, _, dmgType) return { mod("ArmourAppliesTo"..firstToUpper(dmgType).."DamageTaken", "BASE", num) } end,
2349+
["%+?(%d+)%% of armour also applies to (%a+) damage"] = function(num, _, dmgType) return { mod("ArmourAppliesTo"..firstToUpper(dmgType).."DamageTaken", "BASE", num) } end,
23482350
["maximum damage reduction for any damage type is (%d+)%%"] = function(num) return { mod("DamageReductionMax", "MAX", num) } end,
23492351
["maximum (%a+) damage reduction is (%d+)%%"] = function(_, dmgType, numStr) return { mod(firstToUpper(dmgType) .. "DamageReductionMax", "MAX", tonumber(numStr)) } end,
23502352
["gain additional elemental damage reduction equal to half your chaos resistance"] = {

0 commit comments

Comments
 (0)