diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Spells/spell_generic.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 8e5e5e633b1..bbf86c4d9be 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -1991,6 +1991,45 @@ class spell_gen_mounted_charge: public SpellScriptLoader } }; +enum MossCoveredFeet +{ + SPELL_FALL_DOWN = 6869 +}; + +// 6870 Moss Covered Feet +// 31399 Moss Covered Feet +class spell_gen_moss_covered_feet : public SpellScriptLoader +{ +public: + spell_gen_moss_covered_feet() : SpellScriptLoader("spell_gen_moss_covered_feet") { } + + class spell_gen_moss_covered_feet_AuraScript : public AuraScript + { + PrepareAuraScript(spell_gen_moss_covered_feet_AuraScript); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_FALL_DOWN }); + } + + void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo) + { + PreventDefaultAction(); + eventInfo.GetActionTarget()->CastSpell((Unit*)nullptr, SPELL_FALL_DOWN, true, nullptr, aurEff); + } + + void Register() override + { + OnEffectProc += AuraEffectProcFn(spell_gen_moss_covered_feet_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY); + } + }; + + AuraScript* GetAuraScript() const override + { + return new spell_gen_moss_covered_feet_AuraScript(); + } +}; + enum Netherbloom : uint32 { SPELL_NETHERBLOOM_POLLEN_1 = 28703 |