From 69cddf1a5565368d4b02a369d394a65c148e63a8 Mon Sep 17 00:00:00 2001 From: LocalIdentity Date: Mon, 15 Sep 2025 02:46:12 +1000 Subject: [PATCH] Fix Crit Chance when hitting with 2 weapons at once When hitting with both weapons at once, only 1 of them needs to crit for the resulting hit to count as a crit Not sure if this applies to other stats --- src/Modules/CalcOffence.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Modules/CalcOffence.lua b/src/Modules/CalcOffence.lua index ffc4175ae..1f434a927 100644 --- a/src/Modules/CalcOffence.lua +++ b/src/Modules/CalcOffence.lua @@ -2266,6 +2266,12 @@ function calcs.offence(env, actor, activeSkill) output[stat] = (output.MainHand[stat] or 0) + (output.OffHand[stat] or 0) elseif mode == "AVERAGE" then output[stat] = ((output.MainHand[stat] or 0) + (output.OffHand[stat] or 0)) / 2 + elseif mode == "CRIT" then + if skillFlags.bothWeaponAttack and skillData.doubleHitsWhenDualWielding then + output[stat] = (output.MainHand[stat] or 0) + (output.OffHand[stat] or 0) - ((output.MainHand[stat] or 0) * (output.OffHand[stat] or 0) / 100) + else + output[stat] = ((output.MainHand[stat] or 0) + (output.OffHand[stat] or 0)) / 2 + end elseif mode == 'HARMONICMEAN' then if output.MainHand[stat] == 0 or output.OffHand[stat] == 0 then output[stat] = 0 @@ -4104,7 +4110,7 @@ function calcs.offence(env, actor, activeSkill) if isAttack then -- Combine crit stats, average damage and DPS combineStat("PreEffectiveCritChance", "AVERAGE") - combineStat("CritChance", "AVERAGE") + combineStat("CritChance", "CRIT") combineStat("PreEffectiveCritMultiplier", "AVERAGE") combineStat("CritMultiplier", "AVERAGE") combineStat("CritBifurcates", "AVERAGE")