diff --git a/src/Modules/CalcDefence.lua b/src/Modules/CalcDefence.lua index 2d73f80dd..24e93920f 100644 --- a/src/Modules/CalcDefence.lua +++ b/src/Modules/CalcDefence.lua @@ -750,6 +750,11 @@ function calcs.defence(env, actor) local condList = modDB.conditions + -- Pre-calculate Life/Mana/Spirit and reservations to set conditions (like LowLife) before defences are calculated + -- This ensures modifiers that depend on conditions (e.g., "when on Low Life") work correctly + calcs.doActorLifeManaSpirit(actor, true) + calcs.doActorLifeManaSpiritReservation(actor) + -- Action Speed output.ActionSpeedMod = calcs.actionSpeedMod(actor) @@ -1111,8 +1116,7 @@ function calcs.defence(env, actor) end -- Primary defences: Energy shield, evasion and armour do - -- Pre-calculate Life/Mana/Spirit for mods such as Beidat's hand - calcs.doActorLifeManaSpirit(actor, true) + -- Life/Mana/Spirit already calculated above for conditions local ward = 0 local energyShield = 0 local armour = 0