diff --git a/sql/updates/world/4.3.4/2022_04_01_00_world.sql b/sql/updates/world/4.3.4/2022_04_01_00_world.sql new file mode 100644 index 0000000000..1ba8507fec --- /dev/null +++ b/sql/updates/world/4.3.4/2022_04_01_00_world.sql @@ -0,0 +1,5 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`= 'spell_warr_heroic_fury'; +INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES +(60970, 'spell_warr_heroic_fury'); + +UPDATE `spell_proc` SET `SpellFamilyMask0`= 0x8 WHERE `SpellId`= -12311; diff --git a/src/server/scripts/Spells/spell_warrior.cpp b/src/server/scripts/Spells/spell_warrior.cpp index 143079578b..acfa6498b0 100644 --- a/src/server/scripts/Spells/spell_warrior.cpp +++ b/src/server/scripts/Spells/spell_warrior.cpp @@ -46,6 +46,7 @@ enum WarriorSpells SPELL_WARRIOR_DEEP_WOUNDS_PERIODIC = 12721, SPELL_WARRIOR_EXECUTE = 20647, SPELL_WARRIOR_GLYPH_OF_EXECUTION = 58367, + SPELL_WARRIOR_INTERCEPT = 20252, SPELL_WARRIOR_JUGGERNAUT_CRIT_BONUS_BUFF = 65156, SPELL_WARRIOR_JUGGERNAUT_CRIT_BONUS_TALENT = 64976, SPELL_WARRIOR_LAST_STAND_TRIGGERED = 12976, @@ -1005,6 +1006,25 @@ class spell_warr_heroic_leap : public SpellScript } }; +// 60970 - Heroic Fury +class spell_warr_heroic_fury : public SpellScript +{ + bool Load() override + { + return GetCaster()->IsPlayer(); + } + + void HandleCooldownReset(SpellEffIndex /*effIndex*/) + { + GetHitUnit()->GetSpellHistory()->ResetCooldown(SPELL_WARRIOR_INTERCEPT, true); + } + + void Register() override + { + OnEffectHitTarget.Register(&spell_warr_heroic_fury::HandleCooldownReset, EFFECT_2, SPELL_EFFECT_APPLY_AURA); + } +}; + void AddSC_warrior_spell_scripts() { RegisterSpellScript(spell_warr_blood_craze); @@ -1017,6 +1037,7 @@ void AddSC_warrior_spell_scripts() RegisterSpellScript(spell_warr_devastate); RegisterSpellScript(spell_warr_execute); RegisterSpellScript(spell_warr_glyph_of_sunder_armor); + RegisterSpellScript(spell_warr_heroic_fury); RegisterSpellScript(spell_warr_heroic_leap); RegisterSpellScript(spell_warr_intimidating_shout); RegisterSpellScript(spell_warr_lambs_to_the_slaughter);