diff --git a/src/Modules/CalcDefence.lua b/src/Modules/CalcDefence.lua index a48d96f92..95b7909a4 100644 --- a/src/Modules/CalcDefence.lua +++ b/src/Modules/CalcDefence.lua @@ -2330,7 +2330,13 @@ function calcs.buildDefenceEstimations(env, actor) --armour/PDR calculations local armourReduct = 0 local impaleArmourReduct = 0 - local percentOfArmourApplies = (not modDB:Flag(nil, "ArmourDoesNotApplyTo"..damageType.."DamageTaken") and modDB:Sum("BASE", nil, "ArmourAppliesTo"..damageType.."DamageTaken") or 0) + local percentOfArmourApplies = 0.0 + if not modDB:Flag(nil, "ArmourDoesNotApplyTo" .. damageType .. "DamageTaken") then + percentOfArmourApplies = (modDB:Sum("BASE", nil, "ArmourAppliesTo" .. damageType .. "DamageTaken") or 0) + end + if not modDB:Flag(nil, "ArmourDoesNotApplyToElementalDamageTaken") and (damageType == "Fire" or damageType == "Cold" or damageType == "Lightning") then + percentOfArmourApplies = percentOfArmourApplies + (modDB:Sum("BASE", nil, "ArmourAppliesToElementalDamageTaken") or 0) + end local effectiveAppliedArmour = (output.Armour * percentOfArmourApplies / 100) * (1 + output.ArmourDefense) local effectiveArmourFromArmour = effectiveAppliedArmour; local effectiveArmourFromOther = { }