aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Pet
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts/Pet')
-rw-r--r--src/server/scripts/Pet/pet_generic.cpp26
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);
}