From 1a958ca00b22f235911ad24843955b3110003027 Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Sun, 15 Feb 2026 04:20:52 +0100 Subject: [PATCH 1/5] tbc haste spells --- Modules/Data/Constants.lua | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/Modules/Data/Constants.lua b/Modules/Data/Constants.lua index 679422ae..fab2af02 100755 --- a/Modules/Data/Constants.lua +++ b/Modules/Data/Constants.lua @@ -360,7 +360,9 @@ Data.Aura = { [51470] = 5, -- Elemental Oath Rank 2 }, SpellHaste = { + [1098] = -30, -- Subjugate Demon [1714] = -50, -- Curse of Tongues Rank 1 + [2825] = 30, -- Bloodlust [3603] = -35, -- Distracting Pain [5760] = -40, -- Mind-numbing Poison Rank 1 [7102] = -25, -- Contagion of Rot @@ -370,12 +372,16 @@ Data.Aura = { [8215] = 100, -- Rapid Cast [8272] = -20, -- Mind Tremor [8692] = -50, -- Mind-numbing Poison II Rank 2 + [10060] = (ECS.IsClassic and nil or 20), -- Power Infusion [10348] = 100, -- Tune Up [10651] = -20, -- Curse of the Eye [10653] = -20, -- Curse of the Eye [11398] = -60, -- Mind-numbing Poison III Rank 3 [11719] = -60, -- Curse of Tongues Rank 2 + [11725] = -30, -- Subjugate Demon + [11726] = -30, -- Subjugate Demon [12255] = -15, -- Curse of Tuten'kash + [12472] = (ECS.IsClassic and nil or 20), -- Icy Veins [12889] = -50, -- Curse of Tongues [13338] = -50, -- Curse of Tongues [14538] = -35, -- Aural Shock @@ -386,6 +392,7 @@ Data.Aura = { [18803] = 100000, -- Focus [19365] = -50, -- Ancient Dread [19779] = 26, -- Inspire + [20882] = -30, -- Subjugate Demon [22247] = -80, -- Suppression Aura [22642] = -50, -- Brood Power: Bronze [22710] = 100, -- Enlarge @@ -399,6 +406,37 @@ Data.Aura = { [25516] = 11, -- Aura of Command [25773] = 300, -- Will of Weavil [25810] = -50, -- Mind-numbing Poison + [28732] = -25, -- Widow's Embrace + [30531] = 10, --Soul Transfer + [30887] = 50, -- Devotion + [30939] = 30, -- Rage of Magtheridon + [31948] = -50, -- Ensnaring Moss + [32002] = 25, -- Lingering Presence + [32013] = -50, -- Mucky Sludge + [32182] = 30, -- Heroism + [32264] = -50, -- Inhibit Magic + [32317] = -50, -- Mucky Sludge + [32693] = 50, -- Arcane Haste + [32940] = -30, -- Shadow Rush + [33299] = 100000, -- Enslave Humanoid + [33925] = -50, -- Phantom Strike + [34352] = -25, -- Mind Shock + [34615] = -50, -- Mind-numbing Poison + [34828] = -30, -- Water Shield + [35329] = -10, -- Vibrant Blood + [36699] = -20, -- Wavering Will + [39036] = -50, -- Brood Power: Bronze + [39261] = 50, -- Gusting Winds + [39332] = -50, -- Phantom Strike + [39530] = 100, -- Focus + [41190] = -50, -- Mind-numbing Poison + [41978] = -50, -- Debilitating Poison + [42006] = 75, -- Chaos Form + [43242] = 300, --Haste + [44605] = 10, -- Spell Haste + [46102] = 999999, -- Spell Fury + [46299] = -45, -- Wavering Will + [49725] = 25, -- Breath: Haste [367987] = 101, -- Burning Adrenaline [368615] = 30, -- Pulse Lightning [370066] = 51, -- Visions of Madness From c6a0b8688c71305527dd451408e68510bcf75211 Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Tue, 17 Feb 2026 05:18:02 +0100 Subject: [PATCH 2/5] more spells --- Modules/Data/Constants.lua | 47 +++++++++++++++++++++++++++++++++++- Modules/Data/SpellDamage.lua | 20 +++++++++++++++ 2 files changed, 66 insertions(+), 1 deletion(-) diff --git a/Modules/Data/Constants.lua b/Modules/Data/Constants.lua index fab2af02..b47f8c72 100755 --- a/Modules/Data/Constants.lua +++ b/Modules/Data/Constants.lua @@ -363,6 +363,7 @@ Data.Aura = { [1098] = -30, -- Subjugate Demon [1714] = -50, -- Curse of Tongues Rank 1 [2825] = 30, -- Bloodlust + [2895] = (ECS.IsWotlk and 5 or nil), -- Wrath of Air Totem [3603] = -35, -- Distracting Pain [5760] = -40, -- Mind-numbing Poison Rank 1 [7102] = -25, -- Contagion of Rot @@ -379,13 +380,14 @@ Data.Aura = { [11398] = -60, -- Mind-numbing Poison III Rank 3 [11719] = -60, -- Curse of Tongues Rank 2 [11725] = -30, -- Subjugate Demon - [11726] = -30, -- Subjugate Demon + [11726] = (ECS.IsWotlk and -20 or -30), -- Subjugate Demon [12255] = -15, -- Curse of Tuten'kash [12472] = (ECS.IsClassic and nil or 20), -- Icy Veins [12889] = -50, -- Curse of Tongues [13338] = -50, -- Curse of Tongues [14538] = -35, -- Aural Shock [15470] = -50, -- Curse of Tongues + [16886] = (ECS.IsWotlk and 20 or nil), -- Nature's Grace (holy,nature) [17331] = -10, -- Fang of the Crystal Spider [17633] = 66, -- Arcane Focus [18173] = 100000, -- Burning Adrenaline @@ -433,10 +435,52 @@ Data.Aura = { [41978] = -50, -- Debilitating Poison [42006] = 75, -- Chaos Form [43242] = 300, --Haste + [43507] = -30, -- Corrupted Magic [44605] = 10, -- Spell Haste [46102] = 999999, -- Spell Fury [46299] = -45, -- Wavering Will + [47791] = 15, -- Arcane Haste + [47940] = 20, -- Mind Twisting + [48394] = 20, -- Moonkin's Blessing [49725] = 25, -- Breath: Haste + [50182] = 15, -- Aura of Arcane Haste + [50336] = 300, -- Fast Cast + [51170] = 100, -- Enraged Assault + [51605] = 20, -- Zeal + [51676] = -20, -- Wavering Will + [51777] = 30, -- Arcane Focus + [52430] = -75, -- Warped Mind + [54097] = -25, -- Widow's Embrace + [54312] = 100, -- Frenzy + [54792] = 20, -- Icy Veins + [55100] = -50, -- Numbing Roar + [55106] = -25, -- Numbing Shout + [56707] = -25, -- Contagion of Rot + [56708] = -25, -- Contagion of Rot + [56716] = -50, -- Icy Winds + [56827] = 50, -- Aura of Arcane Haste + [59887] = 5, -- Borrowed Time (fire,holy,nature) + [59888] = 10, -- Borrowed Time (fire,holy,nature) + [59889] = 15, -- Borrowed Time (fire,holy,nature) + [59890] = 20, -- Borrowed Time (fire,holy,nature) + [59891] = 25, -- Borrowed Time (fire,holy,nature) + [61191] = -20, -- Subjugate Demon + [64368] = 6, -- Eradication (holy,nature) + [64370] = 12, -- Eradication (holy,nature) + [64371] = 20, -- Eradication (holy,nature) + [64570] = -50, -- Flame Suppressant + [64694] = 10, -- Lava Flows (fire,physical) + [64701] = 15, -- Elemental Mastery (frost,nature) + [65192] = -50, -- Flame Suppressant + [65210] = -300, -- Destabilization Matrix + [65263] = 20, -- Lava Flows (fire,physical) + [65264] = 30, -- Lava Flows (fire,physical) + [65269] = 100, -- Shadow Crash (nature,physical) + [68933] = 100, -- Wrath of Air Totem + [70227] = 100000, -- Empowered Blood + [70320] = 100000, -- Empowered Blood + [70753] = 12, -- Pushing the Limit + [70806] = 20, -- Rapid Currents [367987] = 101, -- Burning Adrenaline [368615] = 30, -- Pulse Lightning [370066] = 51, -- Visions of Madness @@ -444,6 +488,7 @@ Data.Aura = { [370832] = 15, -- Gift of the Spider [371206] = 100, -- Servant of Chaos [402794] = -60, -- Curse of Tongues + [413118] = -300, -- Destabilization [425121] = 20, -- Icy Veins [427714] = 30, -- Backdraft [429125] = 20, -- Icy Veins diff --git a/Modules/Data/SpellDamage.lua b/Modules/Data/SpellDamage.lua index 229923a1..e2fb4a9f 100755 --- a/Modules/Data/SpellDamage.lua +++ b/Modules/Data/SpellDamage.lua @@ -3,6 +3,9 @@ local Data = ECSLoader:ImportModule("Data") ---@type DataUtils local DataUtils = ECSLoader:ImportModule("DataUtils") +local _SpellHaste = {} +local _, _, classId = UnitClass("player") + ---@param school number ---@return number function Data:GetSpellDamage(school) @@ -29,6 +32,7 @@ end ---@return string function Data:GetSpellHasteBonus() local hasteBonus = GetHaste() + hasteBonus = hasteBonus + _SpellHaste:GetTalentSpellHaste() -- items if ECS.IsSoD then @@ -70,3 +74,19 @@ function Data:GetSpellHasteBonus() return DataUtils:Round(hasteBonus, 2) .. "%" end + +---@return number +function _SpellHaste:GetTalentSpellHaste() + local bonus = 0 + if ECS.IsWotlk then + if classId == Data.DRUID then + bonus = bonus + 1 * DataUtils:GetActiveTalentSpell({16850,16923,16924}) -- Celestial Focus + bonus = bonus + 2 * DataUtils:GetActiveTalentSpell({51179,51180,51181,51182,51183}) -- Gift of the Earthmother + elseif classId == Data.PRIEST then + bonus = bonus + 2 * DataUtils:GetActiveTalentSpell({34908,34909,34910}) -- Enlightenment + elseif classId == Data.MAGE then + bonus = bonus + 2 * DataUtils:GetActiveTalentSpell({44400,44402,44403}) -- Netherwind Presence + end + end + return bonus +end From f2c0ed7b25f747444a383ba3e483909450957c0e Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Mon, 2 Mar 2026 22:08:28 +0100 Subject: [PATCH 3/5] revert --- Modules/Data/Constants.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/Data/Constants.lua b/Modules/Data/Constants.lua index 04a618f1..a4911b68 100755 --- a/Modules/Data/Constants.lua +++ b/Modules/Data/Constants.lua @@ -373,7 +373,7 @@ Data.Aura = { [8215] = 100, -- Rapid Cast [8272] = -20, -- Mind Tremor [8692] = -50, -- Mind-numbing Poison II Rank 2 - [10060] = (ECS.IsClassic and nil or 20), -- Power Infusion + [10060] = ((not ECS.IsClassic) and 20 or nil), -- Power Infusion [10348] = 100, -- Tune Up [10651] = -20, -- Curse of the Eye [10653] = -20, -- Curse of the Eye @@ -382,7 +382,7 @@ Data.Aura = { [11725] = -30, -- Subjugate Demon [11726] = (ECS.IsWotlk and -20 or -30), -- Subjugate Demon [12255] = -15, -- Curse of Tuten'kash - [12472] = (ECS.IsClassic and nil or 20), -- Icy Veins + [12472] = ((not ECS.IsClassic) and 20 or nil), -- Icy Veins [12889] = -50, -- Curse of Tongues [13338] = -50, -- Curse of Tongues [14538] = -35, -- Aural Shock From 4a2f38444dbdf0b492116fc2a04f963a81992c0e Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Mon, 2 Mar 2026 22:11:10 +0100 Subject: [PATCH 4/5] spaces --- Modules/Data/Constants.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/Data/Constants.lua b/Modules/Data/Constants.lua index a4911b68..9ad78a73 100755 --- a/Modules/Data/Constants.lua +++ b/Modules/Data/Constants.lua @@ -373,7 +373,7 @@ Data.Aura = { [8215] = 100, -- Rapid Cast [8272] = -20, -- Mind Tremor [8692] = -50, -- Mind-numbing Poison II Rank 2 - [10060] = ((not ECS.IsClassic) and 20 or nil), -- Power Infusion + [10060] = ((not ECS.IsClassic) and 20 or nil), -- Power Infusion [10348] = 100, -- Tune Up [10651] = -20, -- Curse of the Eye [10653] = -20, -- Curse of the Eye @@ -382,7 +382,7 @@ Data.Aura = { [11725] = -30, -- Subjugate Demon [11726] = (ECS.IsWotlk and -20 or -30), -- Subjugate Demon [12255] = -15, -- Curse of Tuten'kash - [12472] = ((not ECS.IsClassic) and 20 or nil), -- Icy Veins + [12472] = ((not ECS.IsClassic) and 20 or nil), -- Icy Veins [12889] = -50, -- Curse of Tongues [13338] = -50, -- Curse of Tongues [14538] = -35, -- Aural Shock From cc5c6dd340695f8c3621bb232c4230150c233167 Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Tue, 3 Mar 2026 04:13:46 +0100 Subject: [PATCH 5/5] wip --- Modules/Data/Constants.lua | 13 ++++++++----- Modules/Data/SpellDamage.lua | 5 ++++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Modules/Data/Constants.lua b/Modules/Data/Constants.lua index 9ad78a73..6ed331d5 100755 --- a/Modules/Data/Constants.lua +++ b/Modules/Data/Constants.lua @@ -1,3 +1,6 @@ +local IsClassic = ECS.IsClassic +local IsWotlk = ECS.IsWotlk + ---@class Data local Data = ECSLoader:ImportModule("Data") @@ -363,7 +366,7 @@ Data.Aura = { [1098] = -30, -- Subjugate Demon [1714] = -50, -- Curse of Tongues Rank 1 [2825] = 30, -- Bloodlust - [2895] = (ECS.IsWotlk and 5 or nil), -- Wrath of Air Totem + [2895] = (IsWotlk and 5 or nil), -- Wrath of Air Totem [3603] = -35, -- Distracting Pain [5760] = -40, -- Mind-numbing Poison Rank 1 [7102] = -25, -- Contagion of Rot @@ -373,21 +376,21 @@ Data.Aura = { [8215] = 100, -- Rapid Cast [8272] = -20, -- Mind Tremor [8692] = -50, -- Mind-numbing Poison II Rank 2 - [10060] = ((not ECS.IsClassic) and 20 or nil), -- Power Infusion + [10060] = ((not IsClassic) and 20 or nil), -- Power Infusion [10348] = 100, -- Tune Up [10651] = -20, -- Curse of the Eye [10653] = -20, -- Curse of the Eye [11398] = -60, -- Mind-numbing Poison III Rank 3 [11719] = -60, -- Curse of Tongues Rank 2 [11725] = -30, -- Subjugate Demon - [11726] = (ECS.IsWotlk and -20 or -30), -- Subjugate Demon + [11726] = (IsWotlk and -20 or -30), -- Subjugate Demon [12255] = -15, -- Curse of Tuten'kash - [12472] = ((not ECS.IsClassic) and 20 or nil), -- Icy Veins + [12472] = ((not IsClassic) and 20 or nil), -- Icy Veins [12889] = -50, -- Curse of Tongues [13338] = -50, -- Curse of Tongues [14538] = -35, -- Aural Shock [15470] = -50, -- Curse of Tongues - [16886] = (ECS.IsWotlk and 20 or nil), -- Nature's Grace (holy,nature) + [16886] = (IsWotlk and 20 or nil), -- Nature's Grace (holy,nature) [17331] = -10, -- Fang of the Crystal Spider [17633] = 66, -- Arcane Focus [18173] = 100000, -- Burning Adrenaline diff --git a/Modules/Data/SpellDamage.lua b/Modules/Data/SpellDamage.lua index e421dd23..33a91b50 100755 --- a/Modules/Data/SpellDamage.lua +++ b/Modules/Data/SpellDamage.lua @@ -1,3 +1,6 @@ +local IsWotlk = ECS.IsWotlk +local UnitClass = UnitClass + ---@class Data local Data = ECSLoader:ImportModule("Data") ---@type DataUtils @@ -82,7 +85,7 @@ end ---@return number function _SpellHaste:GetTalentSpellHaste() local bonus = 0 - if ECS.IsWotlk then + if IsWotlk then if classId == Data.DRUID then bonus = bonus + 1 * DataUtils:GetActiveTalentSpell({16850,16923,16924}) -- Celestial Focus bonus = bonus + 2 * DataUtils:GetActiveTalentSpell({51179,51180,51181,51182,51183}) -- Gift of the Earthmother