aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Pet
diff options
context:
space:
mode:
authorDanVS <33371360+DanVS@users.noreply.github.com>2018-07-25 13:35:03 +0000
committerShauren <shauren.trinity@gmail.com>2021-10-17 01:40:21 +0200
commit3503e9dc929692bc9a8e9a23de2bae9cad24497f (patch)
tree157ad78304b48fa335ea40ade1291b85cafd66ed /src/server/scripts/Pet
parent5d08e13108431e3facc3246f46740fe54e9f6884 (diff)
Scripts/Pets: Some cleanup for Snake Trap. Tagging #21847, though this doesn't address it (yet).
(cherry picked from commit 15ab24756dab76066bc24ca2a8c3289afbe836c0)
Diffstat (limited to 'src/server/scripts/Pet')
-rw-r--r--src/server/scripts/Pet/pet_generic.cpp27
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 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);
}