Skip to content

Commit ff39c3a

Browse files
committed
Add support for "% increased .+ modifier magnitudes" and Unborn Lich
1 parent ce8bffa commit ff39c3a

4 files changed

Lines changed: 130 additions & 19 deletions

File tree

src/Classes/Item.lua

Lines changed: 103 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ local ItemClass = newClass("Item", function(self, raw, rarity, highQuality)
7575
end)
7676

7777
local lineFlags = {
78-
["custom"] = true, ["crafted"] = true, ["fractured"] = true, ["desecrated"] = true, ["mutated"] = true, ["enchant"] = true, ["implicit"] = true, ["rune"] = true, ["unscalable"] = true
78+
["custom"] = true, ["crafted"] = true, ["fractured"] = true, ["desecrated"] = true, ["mutated"] = true, ["enchant"] = true, ["implicit"] = true, ["rune"] = true, ["unscalable"] = true, ["prefix"] = true, ["suffix"] = true
7979
}
8080

8181
local function baseHasImplicitLine(base, line)
@@ -401,6 +401,12 @@ function ItemClass:ParseRaw(raw, rarity, highQuality)
401401
self.socketedSoulCoreTypes = { }
402402
self.implicitModLines = { }
403403
self.explicitModLines = { }
404+
-- old items or trade-sourced items have increases to modifiers baked in to the item text, which
405+
-- means that we can't add e.g. quality or mod magnitude effect to them during parsing. we will
406+
-- assume an item to be an advanced copy format if either has mod roll information, a modifier
407+
-- line with a range, or advanced copy lines
408+
self.advancedCopy = false
409+
self.modMagnitudeMods = {}
404410
local implicitLines = 0
405411
self.variantList = nil
406412
self.prefixes = { }
@@ -451,6 +457,7 @@ function ItemClass:ParseRaw(raw, rarity, highQuality)
451457
end
452458
elseif line:match("^{ ") then
453459
-- We're parsing advanced copy/paste format
460+
self.advancedCopy = true
454461
linePrefix = ""
455462
linePostfix = ""
456463
self.crafted = true
@@ -737,6 +744,7 @@ function ItemClass:ParseRaw(raw, rarity, highQuality)
737744
t_insert(modLine.modTags, tag)
738745
end
739746
elseif k == "range" then
747+
self.advancedCopy = true
740748
modLine.range = tonumber(val)
741749
elseif k == "corruptedRange" then
742750
modLine.corruptedRange = tonumber(val)
@@ -777,6 +785,10 @@ function ItemClass:ParseRaw(raw, rarity, highQuality)
777785
if modLine.fractured then
778786
self.fractured = true
779787
end
788+
-- items containing (#-#) lines are marked since the values won't have catalyst or mod magnitudes applied
789+
if line:find("%((%-?%d+%.?%d*)%-(%-?%d+%.?%d*)%)") then
790+
self.advancedCopy = true
791+
end
780792
local baseName
781793
if not self.base and (self.rarity == "NORMAL" or self.rarity == "MAGIC") then
782794
-- Exact match (affix-less magic and normal items)
@@ -960,6 +972,10 @@ function ItemClass:ParseRaw(raw, rarity, highQuality)
960972
end
961973

962974
local lineLower = line:lower()
975+
-- \d+% increased/decreased explicit/implicit/ *tags* modifier magnitudes
976+
local modMagnitudePattern = { "(%d+)%% ([id][ne]creased) ?([%a%s]*) modifier magnitudes",
977+
-- \d+% increased/decreased effect of suffixes/prefixes
978+
"(%d+)%% ([id][ne]creased) effect of ([sp][ur][fe]fix)es" }
963979
if lineLower == "implicit modifiers cannot be changed" then
964980
self.implicitsCannotBeChanged = true
965981
elseif lineLower:match(" prefix modifiers? allowed") then
@@ -978,6 +994,28 @@ function ItemClass:ParseRaw(raw, rarity, highQuality)
978994
self.canHaveThreeEnchants = true
979995
self.canHaveFourEnchants = true
980996
end
997+
for _, pattern in ipairs(modMagnitudePattern) do
998+
if rangedLine:lower():find(pattern) then
999+
local rangedLine = itemLib.applyRange(line, modLine.range or main.defaultItemAffixQuality or 1, catalystScalar, modLine.corruptedRange)
1000+
local amount, increaseOrDecrease, modTagsString = rangedLine:lower():match(pattern)
1001+
if amount and modTagsString and increaseOrDecrease == "increased" or increaseOrDecrease == "decreased" then
1002+
local modTags = {}
1003+
local modType
1004+
-- explicit elemental damage -> tags = {elemental, damage}, modType = explicit
1005+
for word in (modTagsString .. " "):gmatch("%S+") do
1006+
word = word:lower()
1007+
if word == "implicit" or word == "explicit" or word == "enchant" then
1008+
modType = word
1009+
else
1010+
table.insert(modTags, word)
1011+
end
1012+
end
1013+
local quality = increaseOrDecrease == "increased" and tonumber(amount) or -tonumber(amount)
1014+
table.insert(self.modMagnitudeMods, { tags = modTags, quality = quality, modType = modType })
1015+
break
1016+
end
1017+
end
1018+
end
9811019
modLine.socketedAugmentTypeOverride = lineLower:match("^this item gains bonuses from socketed items as though it was a? ?(.+)$")
9821020
modLine.socketedSoulCoreType = lineLower:match("^this item gains bonuses from socketed soul cores as though it was also a? ?(.+)$")
9831021

@@ -1287,6 +1325,51 @@ function ItemClass:ParseRaw(raw, rarity, highQuality)
12871325
self.requirements.level = self.requirements.level or self.requirements.naturalLevel
12881326
self.requirements.level = m_max(self.requirements.level, self.requirements.naturalLevel, self.requirements.runeLevel)
12891327
end
1328+
if self.advancedCopy then
1329+
-- apply mod magnitude boost to matching mods
1330+
if #self.modMagnitudeMods > 0 then
1331+
for _, modMagnitudeMod in ipairs(self.modMagnitudeMods) do
1332+
local modLists
1333+
if modMagnitudeMod.modType then
1334+
modLists = { self[modMagnitudeMod.modType .. "ModLines"] }
1335+
else
1336+
modLists = { self.implicitModLines, self.explicitModLines, self.enchantModLines }
1337+
end
1338+
for _, mods in ipairs(modLists) do
1339+
for _, mod in ipairs(mods or {}) do
1340+
-- Create a fast lookup table for all provided tags
1341+
local tagLookup = {}
1342+
for _, curTag in ipairs(mod.modTags) do
1343+
tagLookup[curTag] = true;
1344+
end
1345+
-- these aren't actual mod tags but do appear in mod magnitude mods
1346+
for _, lineFlag in ipairs({ "desecrated", "prefix", "suffix" }) do
1347+
if mod[lineFlag] then
1348+
tagLookup[lineFlag] = true
1349+
end
1350+
end
1351+
local match = true
1352+
for _, magnitudeTag in ipairs(modMagnitudeMod.tags) do
1353+
if not tagLookup[magnitudeTag] then
1354+
match = false
1355+
end
1356+
end
1357+
if match then
1358+
mod.valueScalar = (mod.valueScalar or 1) + (modMagnitudeMod.quality / 100)
1359+
end
1360+
if mod.valueScalar and mod.valueScalar ~= 1 then
1361+
local rangedLine = itemLib.applyRange(mod.line, mod.range, mod.valueScalar, 1)
1362+
local modList, extra = modLib.parseMod(rangedLine)
1363+
mod.displayValueScalar = 1
1364+
mod.modList = modList
1365+
mod.extra = extra
1366+
end
1367+
::magnitudeContinue::
1368+
end
1369+
end
1370+
end
1371+
end
1372+
end
12901373
self.affixLimit = 0
12911374
if self.crafted then
12921375
if not self.affixes then
@@ -1457,8 +1540,13 @@ function ItemClass:BuildRaw()
14571540
t_insert(rawLines, "Item Level: " .. self.itemLevel)
14581541
end
14591542
local function writeModLine(modLine)
1460-
local displayValueScalar = modLine.displayValueScalar and (modLine.valueScalar or 1) * modLine.displayValueScalar
1461-
local line = displayValueScalar and itemLib.applyRange(modLine.line, modLine.range or main.defaultItemAffixQuality, displayValueScalar, modLine.corruptedRange) or modLine.line
1543+
local line
1544+
if modLine.rune then
1545+
local displayValueScalar = modLine.displayValueScalar and (modLine.valueScalar or 1) * modLine.displayValueScalar
1546+
line = displayValueScalar and itemLib.applyRange(modLine.line, modLine.range or main.defaultItemAffixQuality, displayValueScalar, modLine.corruptedRange) or modLine.line
1547+
else
1548+
line = modLine.line
1549+
end
14621550
if modLine.range and line:match("%(%-?[%d%.]+%-%-?[%d%.]+%)") then
14631551
line = "{range:" .. round(modLine.range, 3) .. "}" .. line
14641552
end
@@ -1489,6 +1577,12 @@ function ItemClass:BuildRaw()
14891577
if modLine.unscalable then
14901578
line = "{unscalable}" .. line
14911579
end
1580+
if modLine.prefix then
1581+
line = "{prefix}" .. line
1582+
end
1583+
if modLine.suffix then
1584+
line = "{suffix}" .. line
1585+
end
14921586
if modLine.variantList then
14931587
local varSpec
14941588
for varId in pairs(modLine.variantList) do
@@ -1733,7 +1827,12 @@ function ItemClass:Craft()
17331827
return tonumber(num) + tonumber(other)
17341828
end)
17351829
else
1736-
local modLine = { line = line, order = order }
1830+
local modLine = { line = line, order = order, type = mod.type }
1831+
if mod.type == "Prefix" then
1832+
modLine.prefix = true
1833+
elseif mod.type == "Suffix" then
1834+
modLine.suffix = true
1835+
end
17371836
for l = 1, #self.explicitModLines + 1 do
17381837
if not self.explicitModLines[l] or self.explicitModLines[l].order > order then
17391838
t_insert(self.explicitModLines, l, modLine)

src/Data/ModCache.lua

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -949,6 +949,7 @@ c["+80 to Evasion Rating"]={{[1]={flags=0,keywordFlags=0,name="Evasion",type="BA
949949
c["+80 to Stun Threshold"]={{[1]={flags=0,keywordFlags=0,name="StunThreshold",type="BASE",value=80}},nil}
950950
c["+80 to maximum Life"]={{[1]={flags=0,keywordFlags=0,name="Life",type="BASE",value=80}},nil}
951951
c["+80 to maximum Mana"]={{[1]={flags=0,keywordFlags=0,name="Mana",type="BASE",value=80}},nil}
952+
c["+85 to Spirit"]={{[1]={flags=0,keywordFlags=0,name="Spirit",type="BASE",value=85}},nil}
952953
c["+85 to maximum Life"]={{[1]={flags=0,keywordFlags=0,name="Life",type="BASE",value=85}},nil}
953954
c["+85 to maximum Mana"]={{[1]={flags=0,keywordFlags=0,name="Mana",type="BASE",value=85}},nil}
954955
c["+86 to maximum Energy Shield"]={{[1]={flags=0,keywordFlags=0,name="EnergyShield",type="BASE",value=86}},nil}
@@ -1538,6 +1539,7 @@ c["13% increased Rarity of Items found"]={{[1]={flags=0,keywordFlags=0,name="Loo
15381539
c["13% increased Skill Effect Duration"]={{[1]={flags=0,keywordFlags=0,name="Duration",type="INC",value=13}},nil}
15391540
c["13% increased Skill Speed"]={{[1]={flags=0,keywordFlags=0,name="Speed",type="INC",value=13},[2]={flags=0,keywordFlags=0,name="WarcrySpeed",type="INC",value=13},[3]={flags=0,keywordFlags=0,name="TotemPlacementSpeed",type="INC",value=13}},nil}
15401541
c["13% increased Spell damage for each 200 total Mana you have Spent Recently"]={{[1]={[1]={div=200,type="Multiplier",var="ManaSpentRecently"},flags=2,keywordFlags=0,name="Damage",type="INC",value=13}},nil}
1542+
c["13% increased Spirit Reservation Efficiency"]={{[1]={flags=0,keywordFlags=0,name="SpiritReservationEfficiency",type="INC",value=13}},nil}
15411543
c["13% increased maximum Life"]={{[1]={flags=0,keywordFlags=0,name="Life",type="INC",value=13}},nil}
15421544
c["13% increased maximum Mana"]={{[1]={flags=0,keywordFlags=0,name="Mana",type="INC",value=13}},nil}
15431545
c["13% of Damage from Deflected Hits is taken from Damageable Companion's Life before you"]={{[1]={flags=0,keywordFlags=0,name="TakenFromCompanionBeforeYouFromDeflected",type="BASE",value=13}},nil}
@@ -2216,6 +2218,9 @@ c["22% increased Attack Speed"]={{[1]={flags=1,keywordFlags=0,name="Speed",type=
22162218
c["22% increased Critical Damage Bonus for Attack Damage"]={{[1]={flags=1,keywordFlags=0,name="CritMultiplier",type="INC",value=22}},nil}
22172219
c["22% increased Critical Hit Chance for Attacks"]={{[1]={flags=1,keywordFlags=0,name="CritChance",type="INC",value=22}},nil}
22182220
c["22.5 Life Regeneration per second"]={{[1]={flags=0,keywordFlags=0,name="LifeRegen",type="BASE",value=22.5}},nil}
2221+
c["221% increased Chaos Damage"]={{[1]={flags=0,keywordFlags=0,name="ChaosDamage",type="INC",value=221}},nil}
2222+
c["221% increased Elemental Damage"]={{[1]={flags=0,keywordFlags=0,name="ElementalDamage",type="INC",value=221}},nil}
2223+
c["221% increased Spell Physical Damage"]={{[1]={flags=2,keywordFlags=0,name="PhysicalDamage",type="INC",value=221}},nil}
22192224
c["225% increased Armour, Evasion and Energy Shield"]={{[1]={flags=0,keywordFlags=0,name="Defences",type="INC",value=225}},nil}
22202225
c["225% increased Duration"]={{[1]={flags=0,keywordFlags=0,name="Duration",type="INC",value=225}},nil}
22212226
c["225% increased Evasion Rating"]={{[1]={flags=0,keywordFlags=0,name="Evasion",type="INC",value=225}},nil}
@@ -2338,6 +2343,7 @@ c["25% increased Damage with Spears"]={{[1]={flags=268435460,keywordFlags=0,name
23382343
c["25% increased Damage with Swords"]={{[1]={flags=4194308,keywordFlags=0,name="Damage",type="INC",value=25}},nil}
23392344
c["25% increased Daze Duration"]={{[1]={flags=0,keywordFlags=0,name="Duration",type="INC",value=25}}," Daze "}
23402345
c["25% increased Duration"]={{[1]={flags=0,keywordFlags=0,name="Duration",type="INC",value=25}},nil}
2346+
c["25% increased Duration of Elemental Ailments on Enemies"]={{[1]={flags=0,keywordFlags=0,name="EnemyElementalAilmentDuration",type="INC",value=25}},nil}
23412347
c["25% increased Duration of each Puppet Master stack"]={{[1]={flags=0,keywordFlags=0,name="Duration",type="INC",value=25}}," of each Puppet Master stack "}
23422348
c["25% increased Electrocute Buildup"]={{[1]={flags=0,keywordFlags=0,name="EnemyElectrocuteBuildup",type="INC",value=25}},nil}
23432349
c["25% increased Elemental Ailment Threshold"]={{[1]={flags=0,keywordFlags=0,name="AilmentThreshold",type="INC",value=25}},nil}
@@ -2993,6 +2999,7 @@ c["400% increased Armour and Evasion"]={{[1]={flags=0,keywordFlags=0,name="Armou
29932999
c["400% increased Armour, Evasion and Energy Shield"]={{[1]={flags=0,keywordFlags=0,name="Defences",type="INC",value=400}},nil}
29943000
c["400% increased Physical Damage"]={{[1]={flags=0,keywordFlags=0,name="PhysicalDamage",type="INC",value=400}},nil}
29953001
c["41% increased Cast Speed"]={{[1]={flags=16,keywordFlags=0,name="Speed",type="INC",value=41}},nil}
3002+
c["42% chance to inflict Bleeding on Hit"]={{[1]={flags=0,keywordFlags=0,name="BleedChance",type="BASE",value=42}},nil}
29963003
c["43% increased Melee Damage against Heavy Stunned enemies"]={{[1]={[1]={actor="enemy",type="ActorCondition",var="HeavyStunned"},flags=256,keywordFlags=0,name="Damage",type="INC",value=43}},nil}
29973004
c["43% reduced Effect of Chill on you"]={{[1]={flags=0,keywordFlags=0,name="SelfChillEffect",type="INC",value=-43}},nil}
29983005
c["43% reduced Magnitude of Ignite on you"]={{[1]={flags=0,keywordFlags=0,name="SelfIgniteEffect",type="INC",value=-43}},nil}
@@ -3416,6 +3423,7 @@ c["7% increased Exposure Effect"]={{[1]={flags=0,keywordFlags=0,name="FireExposu
34163423
c["7.5 Life Regeneration per second"]={{[1]={flags=0,keywordFlags=0,name="LifeRegen",type="BASE",value=7.5}},nil}
34173424
c["70% increased Armour"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="INC",value=70}},nil}
34183425
c["70% increased Armour and Evasion"]={{[1]={flags=0,keywordFlags=0,name="ArmourAndEvasion",type="INC",value=70}},nil}
3426+
c["70% increased Desecrated Modifier magnitudes"]={{},nil}
34193427
c["70% increased Energy Shield"]={{[1]={flags=0,keywordFlags=0,name="EnergyShield",type="INC",value=70}},nil}
34203428
c["70% increased Energy Shield from Equipped Helmet"]={{[1]={[1]={slotName="Helmet",type="SlotName"},flags=0,keywordFlags=0,name="EnergyShield",type="INC",value=70}},nil}
34213429
c["70% increased Evasion Rating"]={{[1]={flags=0,keywordFlags=0,name="Evasion",type="INC",value=70}},nil}
@@ -3425,6 +3433,7 @@ c["70% increased Rarity of Items found"]={{[1]={flags=0,keywordFlags=0,name="Loo
34253433
c["70% reduced Recovery rate"]={{[1]={flags=0,keywordFlags=0,name="FlaskRecoveryRate",type="INC",value=-70}},nil}
34263434
c["700% increased Armour and Evasion"]={{[1]={flags=0,keywordFlags=0,name="ArmourAndEvasion",type="INC",value=700}},nil}
34273435
c["700% increased Physical Damage"]={{[1]={flags=0,keywordFlags=0,name="PhysicalDamage",type="INC",value=700}},nil}
3436+
c["71% increased Magnitude of Unholy Might buffs you grant"]={{[1]={flags=0,keywordFlags=0,name="Condition:UnholyMight",type="INC",value=71}}," Magnitude of buffs you grant "}
34283437
c["72% increased Amount Recovered"]={{[1]={flags=0,keywordFlags=0,name="FlaskRecovery",type="INC",value=72}},nil}
34293438
c["74% increased Armour"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="INC",value=74}},nil}
34303439
c["74% increased Armour and Energy Shield"]={{[1]={flags=0,keywordFlags=0,name="ArmourAndEnergyShield",type="INC",value=74}},nil}
@@ -3569,8 +3578,7 @@ c["80% increased Critical Damage Bonus with Crossbows"]={{[1]={flags=67108868,ke
35693578
c["80% increased Critical Hit Chance"]={{[1]={flags=0,keywordFlags=0,name="CritChance",type="INC",value=80}},nil}
35703579
c["80% increased Critical Hit Chance for Spells"]={{[1]={flags=2,keywordFlags=0,name="CritChance",type="INC",value=80}},nil}
35713580
c["80% increased Damage with Hits against Enemies that are on Full Life"]={{[1]={[1]={actor="enemy",type="ActorCondition",var="FullLife"},flags=0,keywordFlags=262144,name="Damage",type="INC",value=80}},nil}
3572-
c["80% increased Desecrated Modifier magnitudes"]={{[1]={flags=0,keywordFlags=0,name="Magnitude",type="INC",value=80}}," Desecrated Modifier "}
3573-
c["80% increased Desecrated Modifier magnitudes 160% increased Chaos Damage"]={{[1]={flags=0,keywordFlags=0,name="Magnitude",type="INC",value=80}}," Desecrated Modifier 160% increased Chaos Damage "}
3581+
c["80% increased Desecrated Modifier magnitudes"]={{},nil}
35743582
c["80% increased Elemental Damage with Attacks"]={{[1]={flags=0,keywordFlags=65536,name="ElementalDamage",type="INC",value=80}},nil}
35753583
c["80% increased Energy Shield"]={{[1]={flags=0,keywordFlags=0,name="EnergyShield",type="INC",value=80}},nil}
35763584
c["80% increased Evasion Rating"]={{[1]={flags=0,keywordFlags=0,name="Evasion",type="INC",value=80}},nil}
@@ -5316,6 +5324,7 @@ c["Enemies take 20% increased Damage for each Elemental Ailment type among"]={ni
53165324
c["Enemies take 20% increased Damage for each Elemental Ailment type among your Ailments on them"]={{[1]={[1]={actor="enemy",type="ActorCondition",var="Frozen"},flags=0,keywordFlags=0,name="EnemyModifier",type="LIST",value={mod={flags=0,keywordFlags=0,name="DamageTaken",type="INC",value=20}}},[2]={[1]={actor="enemy",type="ActorCondition",var="Chilled"},flags=0,keywordFlags=0,name="EnemyModifier",type="LIST",value={mod={flags=0,keywordFlags=0,name="DamageTaken",type="INC",value=20}}},[3]={[1]={actor="enemy",type="ActorCondition",var="Ignited"},flags=0,keywordFlags=0,name="EnemyModifier",type="LIST",value={mod={flags=0,keywordFlags=0,name="DamageTaken",type="INC",value=20}}},[4]={[1]={actor="enemy",type="ActorCondition",var="Shocked"},flags=0,keywordFlags=0,name="EnemyModifier",type="LIST",value={mod={flags=0,keywordFlags=0,name="DamageTaken",type="INC",value=20}}},[5]={[1]={actor="enemy",type="ActorCondition",var="Scorched"},flags=0,keywordFlags=0,name="EnemyModifier",type="LIST",value={mod={flags=0,keywordFlags=0,name="DamageTaken",type="INC",value=20}}},[6]={[1]={actor="enemy",type="ActorCondition",var="Brittle"},flags=0,keywordFlags=0,name="EnemyModifier",type="LIST",value={mod={flags=0,keywordFlags=0,name="DamageTaken",type="INC",value=20}}},[7]={[1]={actor="enemy",type="ActorCondition",var="Sapped"},flags=0,keywordFlags=0,name="EnemyModifier",type="LIST",value={mod={flags=0,keywordFlags=0,name="DamageTaken",type="INC",value=20}}},[8]={[1]={actor="enemy",type="ActorCondition",var="Electrocuted"},flags=0,keywordFlags=0,name="EnemyModifier",type="LIST",value={mod={flags=0,keywordFlags=0,name="DamageTaken",type="INC",value=20}}}},nil}
53175325
c["Enemies you Curse are Hindered, with 15% reduced Movement Speed"]={{[1]={flags=0,keywordFlags=0,name="EnemyModifier",type="LIST",value={mod={[1]={type="Condition",var="Cursed"},flags=0,keywordFlags=0,name="Condition:Hindered",type="FLAG",value=true}}}},nil}
53185326
c["Enemies you Curse cannot Recharge Energy Shield"]={{[1]={[1]={type="Condition",var="Curse"},flags=0,keywordFlags=0,name="EnemyModifier",type="LIST",value={mod={flags=0,keywordFlags=0,name="NoEnergyShieldRecharge",type="FLAG",value=true}}}},nil}
5327+
c["Enemies you Curse have -11% to Chaos Resistance"]={{[1]={flags=0,keywordFlags=0,name="EnemyModifier",type="LIST",value={mod={[1]={type="Condition",var="Curse"},flags=0,keywordFlags=0,name="ChaosResist",type="BASE",value=-11}}}},nil}
53195328
c["Enemies you Curse have -3% to Chaos Resistance"]={{[1]={flags=0,keywordFlags=0,name="EnemyModifier",type="LIST",value={mod={[1]={type="Condition",var="Curse"},flags=0,keywordFlags=0,name="ChaosResist",type="BASE",value=-3}}}},nil}
53205329
c["Enemies you Curse have -5% to Chaos Resistance"]={{[1]={flags=0,keywordFlags=0,name="EnemyModifier",type="LIST",value={mod={[1]={type="Condition",var="Curse"},flags=0,keywordFlags=0,name="ChaosResist",type="BASE",value=-5}}}},nil}
53215330
c["Enemies you Curse have -7% to Chaos Resistance"]={{[1]={flags=0,keywordFlags=0,name="EnemyModifier",type="LIST",value={mod={[1]={type="Condition",var="Curse"},flags=0,keywordFlags=0,name="ChaosResist",type="BASE",value=-7}}}},nil}

0 commit comments

Comments
 (0)