diff options
Diffstat (limited to 'src/server/scripts/Spells')
| -rw-r--r-- | src/server/scripts/Spells/spell_generic.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 48fdc440b97..411040c3394 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -201,6 +201,27 @@ class spell_gen_animal_blood : public AuraScript } }; +class spell_gen_arcane_charge : public SpellScript +{ + PrepareSpellScript(spell_gen_arcane_charge); + + SpellCastResult CheckRequirement() + { + if (Unit* target = GetExplTargetUnit()) + { + if (!(target->GetCreatureTypeMask() & CREATURE_TYPEMASK_DEMON_OR_UNDEAD)) + return SPELL_FAILED_DONT_REPORT; + } + + return SPELL_CAST_OK; + } + + void Register() override + { + OnCheckCast += SpellCheckCastFn(spell_gen_arcane_charge::CheckRequirement); + } +}; + // 430 Drink // 431 Drink // 432 Drink @@ -4231,6 +4252,7 @@ void AddSC_generic_spell_scripts() RegisterAuraScript(spell_gen_adaptive_warding); RegisterSpellScript(spell_gen_allow_cast_from_item_only); RegisterAuraScript(spell_gen_animal_blood); + RegisterSpellScript(spell_gen_arcane_charge); RegisterAuraScript(spell_gen_arena_drink); RegisterAuraScript(spell_gen_aura_of_anger); RegisterAuraScript(spell_gen_aura_of_fear); |
