Skip to content

Commit 4aaa762

Browse files
LocalIdentityLocalIdentity
andauthored
Fix calculation of Cursed delay from support gems (#915)
The support gems were using the wrong stat Also fixed the breakdown to correctly show the math for curse activation Co-authored-by: LocalIdentity <localidentity2@gmail.com>
1 parent a100cb3 commit 4aaa762

File tree

5 files changed

+15
-11
lines changed

5 files changed

+15
-11
lines changed

src/Data/ModCache.lua

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -857,7 +857,7 @@ c["10% chance to inflict Fire Exposure on Hit if you have at least 150 Devotion"
857857
c["10% chance to inflict Lightning Exposure on Hit if you have at least 150 Devotion"]={{[1]={[1]={stat="Devotion",threshold=150,type="StatThreshold"},flags=0,keywordFlags=0,name="LightningExposureChance",type="BASE",value=10}},nil}
858858
c["10% chance to refresh Ignite Duration on Critical Hit"]={{[1]={[1]={type="Condition",var="CriticalStrike"},flags=0,keywordFlags=0,name="EnemyIgniteDuration",type="BASE",value=10}}," to refresh "}
859859
c["10% chance when a Charm is used to use another Charm without consuming Charges"]={{[1]={flags=0,keywordFlags=0,name="FlaskCharges",type="BASE",value=10}}," when a Charm is used to use another Charm without consuming "}
860-
c["10% faster Curse Activation"]={{[1]={flags=0,keywordFlags=0,name="CurseFrequency",type="INC",value=10}},nil}
860+
c["10% faster Curse Activation"]={{[1]={flags=0,keywordFlags=0,name="CurseActivation",type="INC",value=10}},nil}
861861
c["10% faster start of Energy Shield Recharge"]={{[1]={flags=0,keywordFlags=0,name="EnergyShieldRechargeFaster",type="INC",value=10}},nil}
862862
c["10% increased Accuracy Rating"]={{[1]={flags=0,keywordFlags=0,name="Accuracy",type="INC",value=10}},nil}
863863
c["10% increased Accuracy Rating while Dual Wielding"]={{[1]={[1]={type="Condition",var="DualWielding"},flags=0,keywordFlags=0,name="Accuracy",type="INC",value=10}},nil}
@@ -1872,7 +1872,7 @@ c["3% increased Attributes"]={{[1]={flags=0,keywordFlags=0,name="Str",type="INC"
18721872
c["3% increased Cast Speed"]={{[1]={flags=16,keywordFlags=0,name="Speed",type="INC",value=3}},nil}
18731873
c["3% increased Cast Speed with Cold Skills"]={{[1]={flags=16,keywordFlags=64,name="Speed",type="INC",value=3}},nil}
18741874
c["3% increased Curse Magnitudes"]={{}," Curse Magnitudes "}
1875-
c["3% increased Curse Magnitudes 10% faster Curse Activation"]={{[1]={flags=0,keywordFlags=0,name="CurseFrequency",type="INC",value=3}}," Curse Magnitudes 10% faster "}
1875+
c["3% increased Curse Magnitudes 10% faster Curse Activation"]={{[1]={flags=0,keywordFlags=0,name="CurseActivation",type="INC",value=3}}," Curse Magnitudes 10% faster "}
18761876
c["3% increased Melee Attack Speed"]={{[1]={flags=257,keywordFlags=0,name="Speed",type="INC",value=3}},nil}
18771877
c["3% increased Movement Speed"]={{[1]={flags=0,keywordFlags=0,name="MovementSpeed",type="INC",value=3}},nil}
18781878
c["3% increased Movement Speed if you've Killed Recently"]={{[1]={[1]={type="Condition",var="KilledRecently"},flags=0,keywordFlags=0,name="MovementSpeed",type="INC",value=3}},nil}
@@ -2143,7 +2143,7 @@ c["4.6 Life Regeneration per second"]={{[1]={flags=0,keywordFlags=0,name="LifeRe
21432143
c["40% chance to Aggravate Bleeding on Hit"]={{}," to Aggravate Bleeding "}
21442144
c["40% chance to Avoid Chaos Damage from Hits"]={{[1]={flags=0,keywordFlags=0,name="AvoidChaosDamageChance",type="BASE",value=40}},nil}
21452145
c["40% chance to Avoid Physical Damage from Hits"]={{[1]={flags=0,keywordFlags=0,name="AvoidPhysicalDamageChance",type="BASE",value=40}},nil}
2146-
c["40% faster Curse Activation"]={{[1]={flags=0,keywordFlags=0,name="CurseFrequency",type="INC",value=40}},nil}
2146+
c["40% faster Curse Activation"]={{[1]={flags=0,keywordFlags=0,name="CurseActivation",type="INC",value=40}},nil}
21472147
c["40% faster start of Energy Shield Recharge"]={{[1]={flags=0,keywordFlags=0,name="EnergyShieldRechargeFaster",type="INC",value=40}},nil}
21482148
c["40% increased Accuracy Rating at Close Range"]={{[1]={[1]={type="Condition",var="AtCloseRange"},flags=0,keywordFlags=0,name="AccuracyVsEnemy",type="INC",value=40}},nil}
21492149
c["40% increased Area of Effect of Aftershocks you create yourself"]={{[1]={flags=0,keywordFlags=0,name="AreaOfEffect",type="INC",value=40}}," of Aftershocks you create yourself "}

src/Data/SkillStatMap.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2275,7 +2275,7 @@ return {
22752275
div = 1000,
22762276
},
22772277
["base_curse_delay_+%"] = {
2278-
mod("CurseFrequency", "INC", nil),
2278+
mod("CurseDelay", "INC", nil),
22792279
},
22802280
-- Hex
22812281
["curse_maximum_doom"] = {

src/Modules/CalcOffence.lua

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1193,21 +1193,21 @@ function calcs.offence(env, actor, activeSkill)
11931193
breakdown.CurseEffectMod = breakdown.mod(skillModList, skillCfg, "CurseEffect")
11941194
end
11951195

1196-
local curseFrequencyMod = calcLib.mod(skillModList, skillCfg, "CurseFrequency")
1196+
local curseActivationMod = calcLib.mod(skillModList, skillCfg, "CurseActivation")
11971197
local curseDelayMod = calcLib.mod(skillModList, skillCfg, "CurseDelay")
11981198
output.CurseDelayBase = (skillData.curseDelay or 0) + skillModList:Sum("BASE", skillCfg, "CurseDelayBase")
1199-
output.CurseDelay = output.CurseDelayBase / curseFrequencyMod * curseDelayMod
1199+
output.CurseDelay = output.CurseDelayBase / curseActivationMod * curseDelayMod
12001200
output.CurseDelay = m_ceil(output.CurseDelay * data.misc.ServerTickRate) / data.misc.ServerTickRate
12011201
if breakdown and output.CurseDelay ~= output.CurseDelayBase then
12021202
breakdown.CurseDelay = {
12031203
s_format("%.2fs ^8(base)", output.CurseDelayBase),
12041204
}
1205-
if curseFrequencyMod ~= 1 then
1206-
t_insert(breakdown.CurseDelay, s_format("x %.4f ^8(frequency modifier)", curseFrequencyMod))
1207-
end
12081205
if curseDelayMod ~= 1 then
12091206
t_insert(breakdown.CurseDelay, s_format("x %.4f ^8(delay modifier)", curseDelayMod))
12101207
end
1208+
if curseActivationMod ~= 1 then
1209+
t_insert(breakdown.CurseDelay, s_format("/ %.4f ^8(activation modifier)", curseActivationMod))
1210+
end
12111211
t_insert(breakdown.CurseDelay, s_format("rounded up to nearest server tick"))
12121212
t_insert(breakdown.CurseDelay, s_format("= %.3fs", output.CurseDelay))
12131213
end

src/Modules/CalcSections.lua

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -705,7 +705,11 @@ return {
705705
{ breakdown = "CurseEffectMod" },
706706
{ modName = "CurseEffect", cfg = "skill" },
707707
}, },
708-
{ label = "Curse Delay", haveOutput = "CurseDelayBase", { format = "{3:output:CurseDelay}s", { breakdown = "CurseDelay" }, { modName = { "CurseFrequency" }, cfg = "skill" }, { modName = { "CurseDelay" }, cfg = "skill" } }, },
708+
{ label = "Curse Delay", haveOutput = "CurseDelayBase", { format = "{3:output:CurseDelay}s",
709+
{ breakdown = "CurseDelay" },
710+
{ modName = { "CurseDelay" }, cfg = "skill" },
711+
{ modName = { "CurseActivation" }, cfg = "skill" },
712+
} },
709713
{ label = "Curse Limit", haveOutput = "CurseEffectMod", { format = "{0:output:EnemyCurseLimit}",
710714
{ breakdown = "EnemyCurseLimit" },
711715
{ modName = { "CurseLimitIsMaximumPowerCharges", "EnemyCurseLimit" } },

src/Modules/ModParser.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -616,7 +616,7 @@ local modNameList = {
616616
["metre to melee strike range"] = { "MeleeWeaponRangeMetre", "UnarmedRangeMetre" },
617617
["to deal double damage"] = "DoubleDamageChance",
618618
["to deal triple damage"] = "TripleDamageChance",
619-
["curse activation"] = "CurseFrequency",
619+
["curse activation"] = "CurseActivation",
620620
["ice crystal life"] = "IceCrystalLife",
621621
-- Effects
622622
["onslaught effect"] = "OnslaughtEffect",

0 commit comments

Comments
 (0)