From bb2150901189d31ede4cfc4728e5ef114c88892c Mon Sep 17 00:00:00 2001 From: MoltenCrystal Date: Sat, 7 Feb 2026 00:19:33 +0100 Subject: [PATCH] Scripts/Spells: Handle Thunder Clap slow and Rend (#31525) --- .../world/master/2026_02_07_00_world.sql | 5 ++ src/server/scripts/Spells/spell_warrior.cpp | 54 +++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 sql/updates/world/master/2026_02_07_00_world.sql diff --git a/sql/updates/world/master/2026_02_07_00_world.sql b/sql/updates/world/master/2026_02_07_00_world.sql new file mode 100644 index 0000000000..c65749c54e --- /dev/null +++ b/sql/updates/world/master/2026_02_07_00_world.sql @@ -0,0 +1,5 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_warr_thunder_clap'; +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_warr_thunder_clap_rend'; +INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES +(6343,'spell_warr_thunder_clap'), +(6343,'spell_warr_thunder_clap_rend'); diff --git a/src/server/scripts/Spells/spell_warrior.cpp b/src/server/scripts/Spells/spell_warrior.cpp index aff54774ca..a33d917a93 100644 --- a/src/server/scripts/Spells/spell_warrior.cpp +++ b/src/server/scripts/Spells/spell_warrior.cpp @@ -82,6 +82,8 @@ enum WarriorSpells SPELL_WARRIOR_RALLYING_CRY = 97463, SPELL_WARRIOR_RAVAGER = 228920, SPELL_WARRIOR_RECKLESSNESS = 1719, + SPELL_WARRIOR_REND = 772, + SPELL_WARRIOR_REND_AURA = 388539, SPELL_WARRIOR_RUMBLING_EARTH = 275339, SPELL_WARRIOR_SHIELD_BLOCK_AURA = 132404, SPELL_WARRIOR_SHIELD_CHARGE_EFFECT = 385953, @@ -101,6 +103,7 @@ enum WarriorSpells SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_1 = 12723, SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_2 = 26654, SPELL_WARRIOR_TAUNT = 355, + SPELL_WARRIOR_THUNDER_CLAP_SLOW = 435203, SPELL_WARRIOR_TITANIC_RAGE = 394329, SPELL_WARRIOR_TRAUMA_EFFECT = 215537, SPELL_WARRIOR_VICIOUS_CONTEMPT = 383885, @@ -1487,6 +1490,55 @@ class spell_warr_tenderize : public AuraScript } }; +// 6343 - Thunder Clap +class spell_warr_thunder_clap : public SpellScript +{ + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_WARRIOR_THUNDER_CLAP_SLOW }); + } + + void HandleSlow(SpellEffIndex /*effIndex*/) const + { + GetCaster()->CastSpell(GetHitUnit(), SPELL_WARRIOR_THUNDER_CLAP_SLOW, CastSpellExtraArgsInit{ + .TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR, + .TriggeringSpell = GetSpell() + }); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_warr_thunder_clap::HandleSlow, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE); + } +}; + +// 6343 - Thunder Clap (Rend) +class spell_warr_thunder_clap_rend : public SpellScript +{ + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_WARRIOR_REND, SPELL_WARRIOR_REND_AURA }); + } + + bool Load() override + { + return GetCaster()->HasSpell(SPELL_WARRIOR_REND); + } + + void HandleRend(SpellEffIndex /*effIndex*/) const + { + GetCaster()->CastSpell(GetHitUnit(), SPELL_WARRIOR_REND_AURA, CastSpellExtraArgsInit{ + .TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR, + .TriggeringSpell = GetSpell() + }); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_warr_thunder_clap_rend::HandleRend, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE); + } +}; + // 394329 - Titanic Rage class spell_warr_titanic_rage : public AuraScript { @@ -1716,6 +1768,8 @@ void AddSC_warrior_spell_scripts() RegisterSpellScript(spell_warr_sudden_death_proc); RegisterSpellScript(spell_warr_sweeping_strikes); RegisterSpellScript(spell_warr_tenderize); + RegisterSpellScript(spell_warr_thunder_clap); + RegisterSpellScript(spell_warr_thunder_clap_rend); RegisterSpellScript(spell_warr_titanic_rage); RegisterSpellScript(spell_warr_trauma); RegisterSpellScript(spell_warr_t3_prot_8p_bonus);