diff options
Diffstat (limited to 'src/server/scripts/Pet')
| -rw-r--r-- | src/server/scripts/Pet/pet_generic.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/server/scripts/Pet/pet_generic.cpp b/src/server/scripts/Pet/pet_generic.cpp index 2d50dbbaba4..059a9cb222c 100644 --- a/src/server/scripts/Pet/pet_generic.cpp +++ b/src/server/scripts/Pet/pet_generic.cpp @@ -320,10 +320,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); } |
