Skip to content

Commit 7ddbef3

Browse files
Blitz54LocalIdentity
andauthored
Add support for Curse AoE on Tree and Windscream Curse Delay mod (#577)
* Initial, curse aoe on tree and Windscream mod * Fix Curse Delay not showing up with 0 value --------- Co-authored-by: LocalIdentity <localidentity2@gmail.com>
1 parent f49266e commit 7ddbef3

File tree

4 files changed

+10
-10
lines changed

4 files changed

+10
-10
lines changed

src/Data/ModCache.lua

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1086,7 +1086,7 @@ c["20% increased Accuracy Rating while Dual Wielding"]={{[1]={[1]={type="Conditi
10861086
c["20% increased Area of Effect"]={{[1]={flags=0,keywordFlags=0,name="AreaOfEffect",type="INC",value=20}},nil}
10871087
c["20% increased Area of Effect for Attacks"]={{[1]={flags=1,keywordFlags=0,name="AreaOfEffect",type="INC",value=20}},nil}
10881088
c["20% increased Area of Effect if you've Killed Recently"]={{[1]={[1]={type="Condition",var="KilledRecently"},flags=0,keywordFlags=0,name="AreaOfEffect",type="INC",value=20}},nil}
1089-
c["20% increased Area of Effect of Curses"]={{[1]={flags=0,keywordFlags=0,name="AreaOfEffect",type="INC",value=20}}," of Curses "}
1089+
c["20% increased Area of Effect of Curses"]={{[1]={flags=0,keywordFlags=2,name="AreaOfEffect",type="INC",value=20}},nil}
10901090
c["20% increased Area of Effect while Unarmed"]={{[1]={[1]={type="Condition",var="Unarmed"},flags=0,keywordFlags=0,name="AreaOfEffect",type="INC",value=20}},nil}
10911091
c["20% increased Armour"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="INC",value=20}},nil}
10921092
c["20% increased Armour Break Duration"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="INC",value=20}}," Break Duration "}
@@ -1640,9 +1640,7 @@ c["40% faster Curse Activation"]={{[1]={flags=0,keywordFlags=0,name="CurseFreque
16401640
c["40% faster start of Energy Shield Recharge"]={{[1]={flags=0,keywordFlags=0,name="EnergyShieldRechargeFaster",type="INC",value=40}},nil}
16411641
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}
16421642
c["40% increased Aftershock Area of Effect"]={{[1]={flags=0,keywordFlags=0,name="AreaOfEffect",type="INC",value=40}}," Aftershock "}
1643-
c["40% increased Area of Effect of Curses"]={{[1]={flags=0,keywordFlags=0,name="AreaOfEffect",type="INC",value=40}}," of Curses "}
1644-
c["40% increased Area of Effect of Curses 8% increased Effect of your Curses"]={{[1]={flags=0,keywordFlags=0,name="AreaOfEffect",type="INC",value=40}}," of Curses 8% increased Effect of your Curses "}
1645-
c["40% increased Area of Effect of Curses 8% increased Effect of your Curses Enemies you Curse are Hindered, with 15% reduced Movement Speed"]={{[1]={flags=0,keywordFlags=0,name="AreaOfEffect",type="INC",value=40}}," of Curses 8% increased Effect of your Curses Enemies you Curse are Hindered, with 15% reduced Movement Speed "}
1643+
c["40% increased Area of Effect of Curses"]={{[1]={flags=0,keywordFlags=2,name="AreaOfEffect",type="INC",value=40}},nil}
16461644
c["40% increased Armour"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="INC",value=40}},nil}
16471645
c["40% increased Armour and Energy Shield"]={{[1]={flags=0,keywordFlags=0,name="ArmourAndEnergyShield",type="INC",value=40}},nil}
16481646
c["40% increased Armour and Evasion"]={{[1]={flags=0,keywordFlags=0,name="ArmourAndEvasion",type="INC",value=40}},nil}
@@ -2296,7 +2294,7 @@ c["Culling Strike against Enemies you Mark"]={{[1]={[1]={actor="enemy",type="Act
22962294
c["Culling Strike against Frozen Enemies"]={{[1]={[1]={actor="enemy",type="ActorCondition",var="Frozen"},flags=0,keywordFlags=0,name="CullPercent",type="MAX",value=10}},nil}
22972295
c["Curse Skills have 15% increased Cast Speed"]={{[1]={flags=16,keywordFlags=2,name="Speed",type="INC",value=15}},nil}
22982296
c["Curse Skills have 20% increased Cast Speed"]={{[1]={flags=16,keywordFlags=2,name="Speed",type="INC",value=20}},nil}
2299-
c["Curses have no Activation Delay"]={nil,"Curses have no Activation Delay "}
2297+
c["Curses have no Activation Delay"]={{[1]={flags=0,keywordFlags=0,name="CurseDelay",type="MORE",value=-100}},nil}
23002298
c["Curses you inflict are reflected back to you"]={nil,"Curses you inflict are reflected back to you "}
23012299
c["Damage Blocked is Recouped as Mana"]={nil,"Damage Blocked is Recouped as Mana "}
23022300
c["Damage Penetrates 10% Fire Resistance"]={{[1]={flags=0,keywordFlags=0,name="FirePenetration",type="BASE",value=10}},nil}

src/Modules/CalcOffence.lua

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1125,12 +1125,12 @@ function calcs.offence(env, actor, activeSkill)
11251125

11261126
local curseFrequencyMod = calcLib.mod(skillModList, skillCfg, "CurseFrequency")
11271127
local curseDelayMod = calcLib.mod(skillModList, skillCfg, "CurseDelay")
1128-
local delayBase = (skillData.curseDelay or 0) + skillModList:Sum("BASE", skillCfg, "CurseDelay")
1129-
output.CurseDelay = delayBase / curseFrequencyMod * curseDelayMod
1128+
output.CurseDelayBase = (skillData.curseDelay or 0) + skillModList:Sum("BASE", skillCfg, "CurseDelayBase")
1129+
output.CurseDelay = output.CurseDelayBase / curseFrequencyMod * curseDelayMod
11301130
output.CurseDelay = m_ceil(output.CurseDelay * data.misc.ServerTickRate) / data.misc.ServerTickRate
1131-
if breakdown and output.CurseDelay ~= delayBase then
1131+
if breakdown and output.CurseDelay ~= output.CurseDelayBase then
11321132
breakdown.CurseDelay = {
1133-
s_format("%.2fs ^8(base)", delayBase),
1133+
s_format("%.2fs ^8(base)", output.CurseDelayBase),
11341134
}
11351135
if curseFrequencyMod ~= 1 then
11361136
t_insert(breakdown.CurseDelay, s_format("x %.4f ^8(frequency modifier)", curseFrequencyMod))

src/Modules/CalcSections.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -694,7 +694,7 @@ return {
694694
{ breakdown = "CurseEffectMod" },
695695
{ modName = "CurseEffect", cfg = "skill" },
696696
}, },
697-
{ label = "Curse Delay", haveOutput = "CurseDelay", { format = "{3:output:CurseDelay}s", { breakdown = "CurseDelay" }, { modName = { "CurseFrequency" }, cfg = "skill" }, { modName = { "CurseDelay" }, cfg = "skill" } }, },
697+
{ label = "Curse Delay", haveOutput = "CurseDelayBase", { format = "{3:output:CurseDelay}s", { breakdown = "CurseDelay" }, { modName = { "CurseFrequency" }, cfg = "skill" }, { modName = { "CurseDelay" }, cfg = "skill" } }, },
698698
{ label = "Curse Limit", haveOutput = "CurseEffectMod", { format = "{0:output:EnemyCurseLimit}",
699699
{ breakdown = "EnemyCurseLimit" },
700700
{ modName = { "CurseLimitIsMaximumPowerCharges", "EnemyCurseLimit" } },

src/Modules/ModParser.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,7 @@ local modNameList = {
426426
["hex duration"] = { "Duration", tag = { type = "SkillType", skillType = SkillType.Hex } },
427427
["radius of auras"] = { "AreaOfEffect", keywordFlags = KeywordFlag.Aura },
428428
["radius of curses"] = { "AreaOfEffect", keywordFlags = KeywordFlag.Curse },
429+
["area of effect of curses"] = { "AreaOfEffect", keywordFlags = KeywordFlag.Curse },
429430
["buff effect"] = "BuffEffect",
430431
["effect of buffs on you"] = "BuffEffectOnSelf",
431432
["effect of buffs granted by your golems"] = { "BuffEffect", tag = { type = "SkillType", skillType = SkillType.Golem } },
@@ -3598,6 +3599,7 @@ local specialModList = {
35983599
["you can apply one fewer curse"] = { mod("EnemyCurseLimit", "BASE", -1) },
35993600
["you can apply an additional mark"] = { mod("EnemyMarkLimit", "BASE", 1) },
36003601
["double activation delay of curses"] = { mod("CurseDelay", "MORE", 100) },
3602+
["curses have no activation delay"] = { mod("CurseDelay", "MORE", -100) },
36013603
["curses on enemies in your chilling areas have (%d+)%% increased effect"] = function(num) return { mod("CurseEffect", "INC", num, { type = "ActorCondition", actor = "enemy", var = "InChillingArea" }) } end,
36023604
["hexes you inflict have their effect increased by twice their doom instead"] = { mod("DoomEffect", "MORE", 100) },
36033605
["nearby enemies have an additional (%d+)%% chance to receive a critical hit"] = function(num) return { mod("EnemyModifier", "LIST", { mod = mod("SelfExtraCritChance", "BASE", num) }) } end,

0 commit comments

Comments
 (0)