diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Spells/spell_warrior.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_warrior.cpp b/src/server/scripts/Spells/spell_warrior.cpp index 167794b7c23..3f199d9263e 100644 --- a/src/server/scripts/Spells/spell_warrior.cpp +++ b/src/server/scripts/Spells/spell_warrior.cpp @@ -55,6 +55,7 @@ enum WarriorSpells SPELL_WARRIOR_MORTAL_STRIKE = 12294, SPELL_WARRIOR_MORTAL_WOUNDS = 213667, SPELL_WARRIOR_RALLYING_CRY = 97463, + SPELL_WARRIOR_SHIELD_CHARGE_EFFECT = 385953, SPELL_WARRIOR_SHOCKWAVE = 46968, SPELL_WARRIOR_SHOCKWAVE_STUN = 132168, SPELL_WARRIOR_STOICISM = 70845, @@ -441,6 +442,27 @@ class spell_warr_rallying_cry : public SpellScript } }; +// 385952 - Shield Charge +class spell_warr_shield_charge : public SpellScript +{ + PrepareSpellScript(spell_warr_shield_charge); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_WARRIOR_SHIELD_CHARGE_EFFECT }); + } + + void HandleDummy(SpellEffIndex /*effIndex*/) + { + GetCaster()->CastSpell(GetHitUnit(), SPELL_WARRIOR_SHIELD_CHARGE_EFFECT, true); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_warr_shield_charge::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY); + } +}; + // 46968 - Shockwave class spell_warr_shockwave : public SpellScript { @@ -689,6 +711,7 @@ void AddSC_warrior_spell_scripts() RegisterSpellScript(spell_warr_item_t10_prot_4p_bonus); RegisterSpellScript(spell_warr_mortal_strike); RegisterSpellScript(spell_warr_rallying_cry); + RegisterSpellScript(spell_warr_shield_charge); RegisterSpellScript(spell_warr_shockwave); RegisterSpellScript(spell_warr_storm_bolt); RegisterSpellScript(spell_warr_sudden_death); |