From df3dfc30ebcdec3aff55c70a9c1172199e0cbd6b Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Mon, 20 Apr 2026 17:36:23 +0200 Subject: [PATCH 1/3] fix double counting of spell crit talents --- Modules/Data/SpellCrit.lua | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/Modules/Data/SpellCrit.lua b/Modules/Data/SpellCrit.lua index f787fdce..468b9a34 100755 --- a/Modules/Data/SpellCrit.lua +++ b/Modules/Data/SpellCrit.lua @@ -97,13 +97,14 @@ end ---@return number function _SpellCrit:GetTalentModifierHolyCrit() local mod = 0 - - if classId == Data.PRIEST then - -- Holy Specialization - mod = 1 * DataUtils:GetActiveTalentSpell({14889,15008,15009,15010,15011}) - elseif classId == Data.PALADIN then - -- Holy Power - mod = 1 * DataUtils:GetActiveTalentSpell({5923,5924,5925,5926,25829}) + if ECS.IsClassic then + if classId == Data.PRIEST then + -- Holy Specialization + mod = 1 * DataUtils:GetActiveTalentSpell({14889,15008,15009,15010,15011}) + elseif classId == Data.PALADIN then + -- Holy Power + mod = 1 * DataUtils:GetActiveTalentSpell({5923,5924,5925,5926,25829}) + end end return mod end @@ -111,15 +112,10 @@ end ---@return number function _SpellCrit:GetTalentModifierFireCrit() local mod = 0 - - if classId == Data.MAGE then - mod = mod + 2 * DataUtils:GetActiveTalentSpell({11115,11367,11368}) -- Critical Mass - - if ECS.IsWotlk then - mod = mod + 1 * DataUtils:GetActiveTalentSpell({34293,34295,34296}) -- Pyromaniac - end - elseif classId == Data.WARLOCK then - if ECS.IsClassic then + if ECS.IsClassic then + if classId == Data.MAGE then + mod = mod + 2 * DataUtils:GetActiveTalentSpell({11115,11367,11368}) -- Critical Mass + elseif classId == Data.WARLOCK then -- Devastation (while this increases the crit chance of "Destruction spells" there are no fire spells, which are not destruction spells) mod = mod + 1 * DataUtils:GetActiveTalentSpell({18130,18131,18132,18133,18134}) end From 923a208b35c1c100dbb42aa7512a1b0ed98e1267 Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Tue, 21 Apr 2026 17:40:22 +0200 Subject: [PATCH 2/3] fix arcane instability now arcane instability is correct on classic and TBC --- Modules/Data/SpellCrit.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/Data/SpellCrit.lua b/Modules/Data/SpellCrit.lua index 468b9a34..7e253d51 100755 --- a/Modules/Data/SpellCrit.lua +++ b/Modules/Data/SpellCrit.lua @@ -54,7 +54,7 @@ function _SpellCrit:GetGeneralTalentModifier() local mod = 0 if classId == Data.MAGE then - if not ECS.IsClassic then + if ECS.IsClassic then mod = mod + 1 * DataUtils:GetActiveTalentSpell({15058,15059,15060}) -- Arcane Instability end elseif classId == Data.DRUID then From 887e3edad633499165f1b60a43e8c825d6cf48ac Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Tue, 21 Apr 2026 17:41:13 +0200 Subject: [PATCH 3/3] Remove 'Devastation' talent from SpellCrit calculation devastation crit bonus was double counted --- Modules/Data/SpellCrit.lua | 2 -- 1 file changed, 2 deletions(-) diff --git a/Modules/Data/SpellCrit.lua b/Modules/Data/SpellCrit.lua index 7e253d51..6e5ae7b5 100755 --- a/Modules/Data/SpellCrit.lua +++ b/Modules/Data/SpellCrit.lua @@ -66,8 +66,6 @@ function _SpellCrit:GetGeneralTalentModifier() mod = mod + 2 * DataUtils:GetActiveTalentSpell({30242,30245,30246,30247,30248}) -- Demonic Tactics mod = mod + 1 * DataUtils:GetActiveTalentSpell({34935,34938,34939}) -- Backlash end - - mod = mod + 1 * DataUtils:GetActiveTalentSpell({18130,18131,18132,18133,18134}) -- Devastation elseif classId == Data.SHAMAN then if ECS.IsWotlk then mod = mod + 1 * DataUtils:GetActiveTalentSpell({16255,16302,16303,16304,16305}) -- Thundering Strikes