diff options
-rw-r--r-- | sql/updates/world/master/2019_08_03_00_world_2017_02_28_00_world.sql | 4 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_generic.cpp | 39 |
2 files changed, 43 insertions, 0 deletions
diff --git a/sql/updates/world/master/2019_08_03_00_world_2017_02_28_00_world.sql b/sql/updates/world/master/2019_08_03_00_world_2017_02_28_00_world.sql new file mode 100644 index 00000000000..4ee3939e02d --- /dev/null +++ b/sql/updates/world/master/2019_08_03_00_world_2017_02_28_00_world.sql @@ -0,0 +1,4 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_gen_moss_covered_feet'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(6870, 'spell_gen_moss_covered_feet'), +(31399, 'spell_gen_moss_covered_feet'); 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 |