diff --git a/sql/updates/world/master/2026_03_04_01_world.sql b/sql/updates/world/master/2026_03_04_01_world.sql new file mode 100644 index 0000000000..6689ad2ec6 --- /dev/null +++ b/sql/updates/world/master/2026_03_04_01_world.sql @@ -0,0 +1,5 @@ +DELETE FROM `spell_proc` WHERE `SpellId` IN (438590); + +DELETE FROM `spell_script_names` WHERE `ScriptName` IN ('spell_warr_keep_your_feet_on_the_ground'); +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(438590, 'spell_warr_keep_your_feet_on_the_ground'); diff --git a/src/server/scripts/Spells/spell_warrior.cpp b/src/server/scripts/Spells/spell_warrior.cpp index 4d094401b8..4aebffb0ca 100644 --- a/src/server/scripts/Spells/spell_warrior.cpp +++ b/src/server/scripts/Spells/spell_warrior.cpp @@ -140,6 +140,11 @@ enum WarriorMisc SPELL_VISUAL_BLAZING_CHARGE = 26423 }; +enum WarriorSpellLabels +{ + SPELL_LABEL_THUNDER_BLAST = 3159 +}; + static void ApplyWhirlwindCleaveAura(Player* caster, Difficulty difficulty, Spell const* triggeringSpell) { SpellInfo const* whirlwindCleaveAuraInfo = sSpellMgr->AssertSpellInfo(SPELL_WARRIOR_WHIRLWIND_CLEAVE_AURA, difficulty); @@ -903,6 +908,21 @@ class spell_warr_frothing_berserker : public AuraScript } }; +// 438590 - Keep Your Feet on the Ground +class spell_warr_keep_your_feet_on_the_ground : public AuraScript +{ + static bool CheckProc(AuraScript const&, AuraEffect const* /*aurEff*/, ProcEventInfo const& eventInfo) + { + SpellInfo const* spellInfo = eventInfo.GetSpellInfo(); + return spellInfo->HasLabel(SPELL_LABEL_THUNDER_BLAST); + } + + void Register() override + { + DoCheckEffectProc += AuraCheckEffectProcFn(spell_warr_keep_your_feet_on_the_ground::CheckProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL); + } +}; + // 400205 - Overpowering Finish (attached to 7384 - Overpower) class spell_warr_overpowering_finish : public SpellScript { @@ -2275,6 +2295,7 @@ void AddSC_warrior_spell_scripts() RegisterSpellScript(spell_warr_intimidating_shout_menace_knock_back); RegisterSpellScript(spell_warr_invigorating_fury); RegisterSpellScript(spell_warr_item_t10_prot_4p_bonus); + RegisterSpellScript(spell_warr_keep_your_feet_on_the_ground); RegisterSpellScript(spell_warr_kill_or_be_killed); RegisterSpellScript(spell_warr_kill_or_be_killed_target); RegisterSpellScript(spell_warr_kill_or_be_killed_warrior);