diff --git a/src/Modules/CalcDefence.lua b/src/Modules/CalcDefence.lua index ab123f32ec..820ec7ce49 100644 --- a/src/Modules/CalcDefence.lua +++ b/src/Modules/CalcDefence.lua @@ -471,18 +471,11 @@ local function incomingDamageBreakdown(breakdownTable, poolsRemaining, output) return breakdownTable end --- Performs all ingame and related defensive calculations -function calcs.defence(env, actor) +-- Performs defensive calculations used by conditionals +function calcs.defenceForConditionals(env, actor) local modDB = actor.modDB - local enemyDB = actor.enemy.modDB local output = actor.output - local breakdown = actor.breakdown - - local condList = modDB.conditions - -- Action Speed - output.ActionSpeedMod = calcs.actionSpeedMod(actor) - -- Armour defence types for conditionals for _, slot in pairs({"Helmet","Gloves","Boots","Body Armour","Weapon 2","Weapon 3"}) do local armourData = actor.itemList[slot] and actor.itemList[slot].armourData @@ -505,6 +498,19 @@ function calcs.defence(env, actor) end end end +end + +-- Performs all ingame and related defensive calculations +function calcs.defence(env, actor) + local modDB = actor.modDB + local enemyDB = actor.enemy.modDB + local output = actor.output + local breakdown = actor.breakdown + + local condList = modDB.conditions + + -- Action Speed + output.ActionSpeedMod = calcs.actionSpeedMod(actor) -- Resistances output["PhysicalResist"] = 0 diff --git a/src/Modules/CalcPerform.lua b/src/Modules/CalcPerform.lua index b5d6957bd9..03cd7f00bd 100644 --- a/src/Modules/CalcPerform.lua +++ b/src/Modules/CalcPerform.lua @@ -3216,6 +3216,12 @@ function calcs.perform(env, skipEHP) modDB:AddList(env.weaponModList1) end + -- Process prerequisites for conditionals + calcs.defenceForConditionals(env, env.player) + if env.minion then + calcs.defenceForConditionals(env, env.minion) + end + -- Process misc buffs/modifiers doActorCharges(env, env.player) doActorMisc(env, env.player)