summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorJelle Meeus <sogladev@gmail.com>2025-09-11 05:14:40 -0700
committerGitHub <noreply@github.com>2025-09-11 09:14:40 -0300
commite1abb7f34660cf68fbd6b82b17e036536d59e1cf (patch)
treeb0439270f75ae4ddb9b950224ad43e5bca6323e4 /src/server
parentacab88ebc5e0ef8ea5efa576b11a6c91fd885a4b (diff)
fix(DB/SpellProcEvent): Warrior Sword Specialization and Sudden Death (#22042)
Diffstat (limited to 'src/server')
-rw-r--r--src/server/scripts/Spells/spell_warrior.cpp24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/server/scripts/Spells/spell_warrior.cpp b/src/server/scripts/Spells/spell_warrior.cpp
index 7552b50291..ab722693c1 100644
--- a/src/server/scripts/Spells/spell_warrior.cpp
+++ b/src/server/scripts/Spells/spell_warrior.cpp
@@ -60,7 +60,8 @@ enum WarriorSpells
SPELL_WARRIOR_VIGILANCE_PROC = 50725,
SPELL_WARRIOR_VIGILANCE_REDIRECT_THREAT = 59665,
SPELL_WARRIOR_WHIRLWIND_MAIN = 50622,
- SPELL_WARRIOR_WHIRLWIND_OFF = 44949
+ SPELL_WARRIOR_WHIRLWIND_OFF = 44949,
+ SPELL_WARRIOR_EXECUTE_R1 = 5308,
};
enum WarriorSpellIcons
@@ -959,6 +960,26 @@ class spell_warr_heroic_strike : public SpellScript
}
};
+class spell_war_sudden_death_aura : public AuraScript
+{ PrepareAuraScript(spell_war_sudden_death_aura);
+
+ bool AfterCheckProc(ProcEventInfo& eventInfo, bool isTriggeredAtSpellProcEvent)
+ {
+ // Check PROC_SPELL_PHASE_FINISH only for Execute
+ if (eventInfo.GetSpellPhaseMask() != PROC_SPELL_PHASE_FINISH)
+ return isTriggeredAtSpellProcEvent;
+ if (Spell const* procSpell = eventInfo.GetProcSpell())
+ if (procSpell->GetSpellInfo()->GetFirstRankSpell()->Id == SPELL_WARRIOR_EXECUTE_R1)
+ return isTriggeredAtSpellProcEvent;
+ return false;
+ }
+
+ void Register() override
+ {
+ DoAfterCheckProc += AuraAfterCheckProcFn(spell_war_sudden_death_aura::AfterCheckProc);
+ }
+};
+
void AddSC_warrior_spell_scripts()
{
RegisterSpellScript(spell_warr_mocking_blow);
@@ -986,4 +1007,5 @@ void AddSC_warrior_spell_scripts()
RegisterSpellScript(spell_warr_vigilance_trigger);
RegisterSpellScript(spell_warr_t3_prot_8p_bonus);
RegisterSpellScript(spell_warr_heroic_strike);
+ RegisterSpellScript(spell_war_sudden_death_aura);
}