From 8c0283728c7221af74592c71c9a22aab581573cf Mon Sep 17 00:00:00 2001 From: vaisest <4550061+vaisest@users.noreply.github.com> Date: Fri, 29 May 2026 21:14:36 +0300 Subject: [PATCH 1/2] Fix Flowing Metal by also summing elemental DR --- src/Modules/CalcDefence.lua | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Modules/CalcDefence.lua b/src/Modules/CalcDefence.lua index a48d96f92..57f7c7124 100644 --- a/src/Modules/CalcDefence.lua +++ b/src/Modules/CalcDefence.lua @@ -2330,7 +2330,15 @@ 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 = { } From 28c1251eb2708dabab6f9dd50b250103f49e9fe3 Mon Sep 17 00:00:00 2001 From: vaisest <4550061+vaisest@users.noreply.github.com> Date: Fri, 29 May 2026 21:27:39 +0300 Subject: [PATCH 2/2] Longer lines --- src/Modules/CalcDefence.lua | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/Modules/CalcDefence.lua b/src/Modules/CalcDefence.lua index 57f7c7124..95b7909a4 100644 --- a/src/Modules/CalcDefence.lua +++ b/src/Modules/CalcDefence.lua @@ -2334,10 +2334,8 @@ function calcs.buildDefenceEstimations(env, actor) 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) + 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;