From da0dec4294509651f8ea0448704f75656f0f6384 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 13 Feb 2016 23:56:11 +0100 Subject: Merge pull request #16585 from Treeston/3.3.5-flightform Core/Spells: Disallow druid flight form while shapeshifted (cherry picked from commit 101c3f93035c8e7a571477c30c1c9edc8730c0c5) --- src/server/scripts/Spells/spell_druid.cpp | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'src/server/scripts') diff --git a/src/server/scripts/Spells/spell_druid.cpp b/src/server/scripts/Spells/spell_druid.cpp index f1d9b5e5c7c..4488561589f 100644 --- a/src/server/scripts/Spells/spell_druid.cpp +++ b/src/server/scripts/Spells/spell_druid.cpp @@ -1018,6 +1018,37 @@ class spell_dru_swift_flight_passive : public SpellScriptLoader } }; +// -33943 - Flight Form +class spell_dru_flight_form : public SpellScriptLoader +{ + public: + spell_dru_flight_form() : SpellScriptLoader("spell_dru_flight_form") { } + + class spell_dru_flight_form_SpellScript : public SpellScript + { + PrepareSpellScript(spell_dru_flight_form_SpellScript); + + SpellCastResult CheckCast() + { + Unit* caster = GetCaster(); + if (caster->IsInDisallowedMountForm()) + return SPELL_FAILED_NOT_SHAPESHIFT; + + return SPELL_CAST_OK; + } + + void Register() override + { + OnCheckCast += SpellCheckCastFn(spell_dru_flight_form_SpellScript::CheckCast); + } + }; + + SpellScript* GetSpellScript() const override + { + return new spell_dru_flight_form_SpellScript(); + } +}; + // 61391 - Typhoon class spell_dru_typhoon : public SpellScriptLoader { @@ -1195,6 +1226,7 @@ void AddSC_druid_spell_scripts() new spell_dru_stampede(); new spell_dru_survival_instincts(); new spell_dru_swift_flight_passive(); + new spell_dru_flight_form(); new spell_dru_typhoon(); new spell_dru_t10_restoration_4p_bonus(); new spell_dru_wild_growth(); -- cgit v1.2.3