diff options
Diffstat (limited to 'src/server/scripts/Pet')
| -rw-r--r-- | src/server/scripts/Pet/pet_generic.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/server/scripts/Pet/pet_generic.cpp b/src/server/scripts/Pet/pet_generic.cpp index 2e26fe30ae6..63c2b4bbb29 100644 --- a/src/server/scripts/Pet/pet_generic.cpp +++ b/src/server/scripts/Pet/pet_generic.cpp @@ -150,8 +150,34 @@ struct npc_pet_gen_soul_trader : public ScriptedAI } }; +enum LichPet +{ + SPELL_LICH_ONSUMMON = 69735, + SPELL_LICH_REMOVE_AURA = 69736 +}; + +struct npc_pet_lich : public ScriptedAI +{ + npc_pet_lich(Creature* creature) : ScriptedAI(creature) { } + + void LeavingWorld() override + { + if (Unit* owner = me->GetOwner()) + DoCast(owner, SPELL_LICH_REMOVE_AURA); + } + + void JustAppeared() override + { + if (Unit* owner = me->GetOwner()) + DoCast(owner, SPELL_LICH_ONSUMMON); + + CreatureAI::JustAppeared(); + } +}; + void AddSC_generic_pet_scripts() { new npc_pet_gen_pandaren_monk(); RegisterCreatureAI(npc_pet_gen_soul_trader); + RegisterCreatureAI(npc_pet_lich); } |
