From 75666302063e7b7ac667d87f440328d1c02ccaed Mon Sep 17 00:00:00 2001 From: maximius Date: Sat, 19 Sep 2009 12:25:26 -0700 Subject: *Missed change --HG-- branch : trunk --- .../scripts/scripts/outland/hellfire_peninsula.cpp | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) (limited to 'src/bindings/scripts') diff --git a/src/bindings/scripts/scripts/outland/hellfire_peninsula.cpp b/src/bindings/scripts/scripts/outland/hellfire_peninsula.cpp index 30e835711a4..6050e4c7eae 100644 --- a/src/bindings/scripts/scripts/outland/hellfire_peninsula.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_peninsula.cpp @@ -118,6 +118,73 @@ CreatureAI* GetAI_npc_aeranas(Creature* pCreature) return new npc_aeranasAI (pCreature); } +/*###### +## npc_ancestral_wolf +######*/ + +enum +{ + EMOTE_WOLF_LIFT_HEAD = -1000496, + EMOTE_WOLF_HOWL = -1000497, + SAY_WOLF_WELCOME = -1000498, + + SPELL_ANCESTRAL_WOLF_BUFF = 29981, + + NPC_RYGA = 17123 +}; + +struct TRINITY_DLL_DECL npc_ancestral_wolfAI : public npc_escortAI +{ + npc_ancestral_wolfAI(Creature* pCreature) : npc_escortAI(pCreature) + { + if (pCreature->GetOwner() && pCreature->GetOwner()->GetTypeId() == TYPEID_PLAYER) + Start(false, false, pCreature->GetOwner()->GetGUID()); + else + error_log("TRINITY: npc_ancestral_wolf can not obtain owner or owner is not a player."); + + pCreature->SetSpeed(MOVE_WALK, 1.5f); + Reset(); + } + + Unit* pRyga; + + void Reset() + { + pRyga = NULL; + m_creature->CastSpell(m_creature, SPELL_ANCESTRAL_WOLF_BUFF, true); + } + + void MoveInLineOfSight(Unit* pWho) + { + if (!pRyga && pWho->GetTypeId() == TYPEID_UNIT && pWho->GetEntry() == NPC_RYGA && m_creature->IsWithinDistInMap(pWho, 15.0f)) + pRyga = pWho; + + npc_escortAI::MoveInLineOfSight(pWho); + } + + void WaypointReached(uint32 uiPointId) + { + switch(uiPointId) + { + case 0: + DoScriptText(EMOTE_WOLF_LIFT_HEAD, m_creature); + break; + case 2: + DoScriptText(EMOTE_WOLF_HOWL, m_creature); + break; + case 50: + if (pRyga && pRyga->isAlive() && !pRyga->isInCombat()) + DoScriptText(SAY_WOLF_WELCOME, pRyga); + break; + } + } +}; + +CreatureAI* GetAI_npc_ancestral_wolf(Creature* pCreature) +{ + return new npc_ancestral_wolfAI(pCreature); +} + /*###### ## go_haaleshi_altar ######*/ -- cgit v1.2.3