From 3503e9dc929692bc9a8e9a23de2bae9cad24497f Mon Sep 17 00:00:00 2001 From: DanVS <33371360+DanVS@users.noreply.github.com> Date: Wed, 25 Jul 2018 13:35:03 +0000 Subject: Scripts/Pets: Some cleanup for Snake Trap. Tagging #21847, though this doesn't address it (yet). (cherry picked from commit 15ab24756dab76066bc24ca2a8c3289afbe836c0) --- src/server/scripts/Pet/pet_generic.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/server/scripts/Pet') diff --git a/src/server/scripts/Pet/pet_generic.cpp b/src/server/scripts/Pet/pet_generic.cpp index 45efd2dcf96..4d0ffbac70c 100644 --- a/src/server/scripts/Pet/pet_generic.cpp +++ b/src/server/scripts/Pet/pet_generic.cpp @@ -321,10 +321,37 @@ class npc_pet_gen_mojo : public CreatureScript } }; +enum SoulTrader +{ + SAY_SOUL_TRADER_INTRO = 0, + + SPELL_ETHEREAL_ONSUMMON = 50052, + SPELL_ETHEREAL_PET_REMOVE_AURA = 50055 +}; + +struct npc_pet_gen_soul_trader : public ScriptedAI +{ + npc_pet_gen_soul_trader(Creature* creature) : ScriptedAI(creature) { } + + void LeavingWorld() override + { + if (Unit* owner = me->GetOwner()) + DoCast(owner, SPELL_ETHEREAL_PET_REMOVE_AURA); + } + + void JustAppeared() override + { + Talk(SAY_SOUL_TRADER_INTRO); + if (Unit* owner = me->GetOwner()) + DoCast(owner, SPELL_ETHEREAL_ONSUMMON); + } +}; + void AddSC_generic_pet_scripts() { new npc_pet_gen_baby_blizzard_bear(); new npc_pet_gen_egbert(); new npc_pet_gen_pandaren_monk(); new npc_pet_gen_mojo(); + RegisterCreatureAI(npc_pet_gen_soul_trader); } -- cgit v1.2.3