From 804d80a8e12eb0f86eed81c536e73b565ea6cd38 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Wed, 4 Mar 2026 22:06:42 +0100 Subject: [PATCH] Scripts/Spells: Add proc check for Keep Your Feet on the Ground (Mountain Thane warrior talent) (#31691) --- .../world/master/2026_03_04_01_world.sql | 5 +++++ src/server/scripts/Spells/spell_warrior.cpp | 21 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 sql/updates/world/master/2026_03_04_01_world.sql 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);