Skip to content

Commit 731564c

Browse files
marckaraujoclaude
andcommitted
Address PR review: use MinionPresenceCount, fix formatting, update txt source
- act_str.lua + act_str.txt: change AlliesInSummonerRange -> MinionPresenceCount, collapse mod() to single line per project convention, add txt source change - CalcPerform: read already-computed MinionPresenceCount from player modDB and bridge it to enemyDB (capped at 15); remove custom ConfigAlliesInSummonerRange - ConfigOptions: remove custom alliesInRange option; existing multiplierMinionsInPresence (# of Minions in your Presence) handles it - CalcSections: remove Predator's Mark Allies display row - TestSkills_spec: update to use multiplierMinionsInPresence config var Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent da8e284 commit 731564c

6 files changed

Lines changed: 18 additions & 21 deletions

File tree

spec/System/TestSkills_spec.lua

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1107,7 +1107,7 @@ describe("TestSkills", function()
11071107
assert.equals(withParrySpellDmg, noParrySpellDmg, "Parry should not affect spell damage")
11081108
end)
11091109

1110-
it("Predator's Mark scales damage with allies in range and caps at 15", function()
1110+
it("Predator's Mark scales damage with minions in presence and caps at 15", function()
11111111
build.skillsTab:PasteSocketGroup("Pounce 20/0 1")
11121112
runCallback("OnFrame")
11131113
build.configTab:BuildModList()
@@ -1117,27 +1117,27 @@ describe("TestSkills", function()
11171117

11181118
local baseDmg = build.calcsTab.mainOutput.AverageDamage
11191119

1120-
-- 5 allies in range should increase effective damage
1121-
build.configTab.configSets[1].input.alliesInRange = 5
1120+
-- 5 minions in presence should increase effective damage
1121+
build.configTab.input.multiplierMinionsInPresence = 5
11221122
build.configTab:BuildModList()
11231123
build.calcsTab:BuildOutput()
11241124
runCallback("OnFrame")
11251125
local dmgWith5 = build.calcsTab.mainOutput.AverageDamage
1126-
assert.True(dmgWith5 > baseDmg, "Damage should increase with 5 allies in range")
1126+
assert.True(dmgWith5 > baseDmg, "Damage should increase with 5 minions in presence")
11271127

1128-
-- cap: 15 and 20 allies should give identical output
1129-
build.configTab.configSets[1].input.alliesInRange = 15
1128+
-- cap: 15 and 20 minions should give identical output
1129+
build.configTab.input.multiplierMinionsInPresence = 15
11301130
build.configTab:BuildModList()
11311131
build.calcsTab:BuildOutput()
11321132
runCallback("OnFrame")
11331133
local dmgAt15 = build.calcsTab.mainOutput.AverageDamage
11341134

1135-
build.configTab.configSets[1].input.alliesInRange = 20
1135+
build.configTab.input.multiplierMinionsInPresence = 20
11361136
build.configTab:BuildModList()
11371137
build.calcsTab:BuildOutput()
11381138
runCallback("OnFrame")
11391139
local dmgAt20 = build.calcsTab.mainOutput.AverageDamage
11401140

1141-
assert.are.equals(dmgAt15, dmgAt20, "Damage should not increase beyond 15 allies")
1141+
assert.are.equals(dmgAt15, dmgAt20, "Damage should not increase beyond 15 minions")
11421142
end)
11431143
end)

src/Data/Skills/act_str.lua

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15211,9 +15211,7 @@ skills["WolfPounceMarkPlayer"] = {
1521115211
},
1521215212
statMap = {
1521315213
["skill_wolf_mark_damage_taken_+%_per_nearby_enemy"] = {
15214-
mod("DamageTaken", "INC", nil, 0, 0,
15215-
{ type = "Multiplier", var = "AlliesInSummonerRange" },
15216-
{ type = "GlobalEffect", effectType = "Curse" }),
15214+
mod("DamageTaken", "INC", nil, 0, 0, { type = "Multiplier", var = "MinionPresenceCount" }, { type = "GlobalEffect", effectType = "Curse" }),
1521715215
},
1521815216
["skill_wolf_mark_damage_taken_+%_cap"] = {},
1521915217
},

src/Export/Skills/act_str.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -884,6 +884,12 @@ end,
884884
#skill WolfPounceMarkPlayer
885885
#set WolfPounceMarkPlayer
886886
#flags duration
887+
statMap = {
888+
["skill_wolf_mark_damage_taken_+%_per_nearby_enemy"] = {
889+
mod("DamageTaken", "INC", nil, 0, 0, { type = "Multiplier", var = "MinionPresenceCount" }, { type = "GlobalEffect", effectType = "Curse" }),
890+
},
891+
["skill_wolf_mark_damage_taken_+%_cap"] = {},
892+
},
887893
#mods
888894
#skillEnd
889895

src/Modules/CalcPerform.lua

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1131,11 +1131,9 @@ function calcs.perform(env, skipEHP)
11311131
enemyDB.multipliers["BrandsAttached"] = m_max(actual, enemyDB.multipliers["BrandsAttached"] or 0)
11321132
end
11331133
if activeSkill.activeEffect.grantedEffect.name == "Predator's Mark" then
1134-
local configAllies = modDB:Sum("BASE", nil, "Multiplier:ConfigAlliesInSummonerRange")
1135-
if configAllies > 0 then
1136-
local effectiveAllies = m_min(configAllies, 15)
1137-
enemyDB.multipliers["AlliesInSummonerRange"] = m_max(effectiveAllies, enemyDB.multipliers["AlliesInSummonerRange"] or 0)
1138-
output.PredatorsMarkAllies = effectiveAllies
1134+
local minionCount = modDB.multipliers["MinionPresenceCount"] or 0
1135+
if minionCount > 0 then
1136+
enemyDB.multipliers["MinionPresenceCount"] = m_max(m_min(minionCount, 15), enemyDB.multipliers["MinionPresenceCount"] or 0)
11391137
end
11401138
end
11411139
if skillFlags.totem then

src/Modules/CalcSections.lua

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -869,8 +869,6 @@ return {
869869
{ breakdown = "ParryRangeProj" },
870870
{ label = "Range modifiers", modName = "ParryRangeProj", cfg = "skill" },
871871
}, },
872-
-- Predator's Mark
873-
{ label = "Predator's Mark Allies", haveOutput = "PredatorsMarkAllies", { format = "{0:output:PredatorsMarkAllies} Allies", }, },
874872
-- Mines
875873
{ label = "Active Mine Limit", flag = "mine", { format = "{0:output:ActiveMineLimit}", { modName = "ActiveMineLimit", cfg = "skill" }, }, },
876874
{ label = "Mine Throw Rate", flag = "mine", { format = "{2:output:MineLayingSpeed}",

src/Modules/ConfigOptions.lua

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -515,9 +515,6 @@ local configSettings = {
515515
{ var = "deathmarkDeathmarkActive", type = "check", label = "Is the enemy marked with Signal Prey?", ifSkill = "Predator", apply = function(val, modList, enemyModList)
516516
modList:NewMod("Condition:EnemyHasDeathmark", "FLAG", true, "Config")
517517
end },
518-
{ var = "alliesInRange", type = "count", label = "# of Allies in Range:", ifEnemyMult = "AlliesInSummonerRange", tooltip = "The number of allies near the marked enemy.", apply = function(val, modList, enemyModList)
519-
modList:NewMod("Multiplier:ConfigAlliesInSummonerRange", "BASE", val, "Config")
520-
end },
521518
{ label = "Pride:", ifSkill = "Pride" },
522519
{ var = "prideEffect", type = "list", label = "Pride Aura Effect:", ifSkill = { "Pride", "AzmeriDemonPhysicalDamageAura" }, list = {{val="MIN",label="Initial effect"},{val="MAX",label="Maximum effect"}}, apply = function(val, modList, enemyModList)
523520
if val == "MAX" then

0 commit comments

Comments
 (0)