diff options
| author | DanVS <33371360+DanVS@users.noreply.github.com> | 2018-07-25 13:35:03 +0000 |
|---|---|---|
| committer | Aokromes <Aokromes@users.noreply.github.com> | 2018-07-25 15:35:03 +0200 |
| commit | ba9943d8a422c0ca9db0dd340f1e9e2ca67c8c33 (patch) | |
| tree | 98ee7b8f1115609b764d26209b0a9aa456c217b7 /src/server/scripts/Pet | |
| parent | 2b3f29aa6d2d3787c063ebc2a541149bd2181c85 (diff) | |
Core/Entities: Ethereal Soul-Trader (#22050)
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); } |
