Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 25 additions & 4 deletions spec/System/TestDefence_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -692,14 +692,35 @@ describe("TestDefence", function()
assert.is_true(build.calcsTab.calcsOutput.TotalMinionLife > 0)
end)

it("does not count invulnerable Minions for Companionship", function()
it("counts invulnerable Minions for Companionship's condition", function()
build.skillsTab:PasteSocketGroup("Animate Guardian 20/0 1\nCompanionship 3/0 1")
build.skillsTab:PasteSocketGroup("Summon Skitterbots 20/0 1")
runCallback("OnFrame")

assert.are.equals(1, build.calcsTab.calcsEnv.player.modDB:Sum("BASE", nil, "Multiplier:SummonedMinion"))
assert.are.equals(15, build.calcsTab.calcsOutput.MinionAllyDamageMitigation)
assert.is_true(build.calcsTab.calcsOutput.TotalMinionLife > 0)
assert.is_true(build.calcsTab.calcsEnv.player.modDB:Sum("BASE", nil, "Multiplier:SummonedMinion") > 1)
assert.are.equals(0, build.calcsTab.calcsOutput.MinionAllyDamageMitigation)
assert.is_nil(build.calcsTab.calcsOutput.TotalMinionLife)
end)

it("keeps invulnerable minion limits available to limitStat", function()
build.itemsTab:CreateDisplayItemFromRaw([[
Test Item
Fiend Dagger
100% chance to Trigger Level 1 Raise Spiders on Kill
]])
build.itemsTab:AddDisplayItem()
build.skillsTab:PasteSocketGroup("Reave 20/0 1")
runCallback("OnFrame")

build.configTab.input.raiseSpidersSpiderCount = 5
build.configTab:BuildModList()
runCallback("OnFrame")

local env = build.calcsTab.calcsEnv
local mainSkill = env.player.mainSkill
assert.are.equals(20, build.calcsTab.calcsOutput.ActiveSpiderLimit)
assert.are.equals(5, env.player.modDB:Sum("BASE", nil, "Multiplier:RaisedSpider"))
assert.are.equals(10, mainSkill.skillModList:Sum("INC", mainSkill.skillCfg, "Speed"))
end)

it("counts the same Minion type from different skills separately", function()
Expand Down
4 changes: 2 additions & 2 deletions src/Modules/CalcPerform.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1396,9 +1396,9 @@ function calcs.perform(env, skipEHP)
hasGuaranteedBonechill = true
end
end
-- Count active, damageable minions. Skills without a limit contribute one minion.
-- Count active minions. Skills without a limit contribute one minion.
local minionList = activeSkill.minionList
if not activeSkill.skillFlags.disable and not activeSkill.skillTypes[SkillType.MinionsAreUndamagable] and minionList and minionList[1] then
if not activeSkill.skillFlags.disable and minionList and minionList[1] then
local grantedEffect = activeSkill.activeEffect.grantedEffect
for _, minionType in ipairs(minionList) do
local minionData = env.data.minions[minionType]
Expand Down
Loading