aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortartalo <none@none>2009-11-11 21:20:49 +0100
committertartalo <none@none>2009-11-11 21:20:49 +0100
commit6c41c6a83c87ed72fa9e7881c59b4286193837c2 (patch)
treead8116e4fba945311cb7450cda92a3084c731b60 /src
parenta44517b1a9b08e908de5c19e9b0f57e716e3a791 (diff)
Terokkar Forest, quest 'Escaping the Tomb': Fix & cleanup, by Manuel. closes #142
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/scripts/outland/terokkar_forest.cpp52
1 files changed, 24 insertions, 28 deletions
diff --git a/src/bindings/scripts/scripts/outland/terokkar_forest.cpp b/src/bindings/scripts/scripts/outland/terokkar_forest.cpp
index 5bee73612ff..08e5217ad64 100644
--- a/src/bindings/scripts/scripts/outland/terokkar_forest.cpp
+++ b/src/bindings/scripts/scripts/outland/terokkar_forest.cpp
@@ -558,60 +558,56 @@ bool GossipSelect_npc_slim(Player* pPlayer, Creature* pCreature, uint32 uiSender
}
/*########
-####npc_Akuno
+####npc_akuno
#####*/
-#define QUEST_NPC_AKUNO 10887
-#define Summon 21661
+enum eAkuno
+{
+ QUEST_ESCAPING_THE_TOMB = 10887,
+ NPC_CABAL_SKRIMISHER = 21661
+};
struct TRINITY_DLL_DECL npc_akunoAI : public npc_escortAI
{
npc_akunoAI(Creature *c) : npc_escortAI(c) {}
- bool IsWalking;
-
void WaypointReached(uint32 i)
{
Player* pPlayer = GetPlayerForEscort();
- if(!pPlayer)
+ if (!pPlayer)
return;
- if(IsWalking && !m_creature->HasUnitMovementFlag(MOVEMENTFLAG_WALK_MODE))
- m_creature->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE);
-
switch(i)
{
- case 0: m_creature->setFaction(5); break;
- case 3:
- m_creature->SummonCreature(Summon,-2795.99,5420.33,-34.53,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
- m_creature->SummonCreature(Summon,-2793.55,5412.79,-34.53,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
- break;
- case 11:
- if(pPlayer && pPlayer->GetTypeId() == TYPEID_PLAYER)
- pPlayer->GroupEventHappens(QUEST_NPC_AKUNO,m_creature);
- m_creature->setFaction(18);
- break;
+ case 3:
+ m_creature->SummonCreature(NPC_CABAL_SKRIMISHER,-2795.99,5420.33,-34.53,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
+ m_creature->SummonCreature(NPC_CABAL_SKRIMISHER,-2793.55,5412.79,-34.53,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
+ break;
+ case 11:
+ if (pPlayer && pPlayer->GetTypeId() == TYPEID_PLAYER)
+ pPlayer->GroupEventHappens(QUEST_ESCAPING_THE_TOMB,m_creature);
+ break;
}
}
- void Reset()
+ void JustSummoned(Creature* summon)
{
- if (IsWalking && !m_creature->HasUnitMovementFlag(MOVEMENTFLAG_WALK_MODE))
- {
- m_creature->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE);
- return;
- }
- IsWalking=false;
+ summon->AI()->AttackStart(m_creature);
}
};
bool QuestAccept_npc_akuno(Player* pPlayer, Creature* pCreature, Quest const* pQuest)
{
- if(pQuest->GetQuestId() == QUEST_NPC_AKUNO)
+ if (pQuest->GetQuestId() == QUEST_ESCAPING_THE_TOMB)
{
if (npc_akunoAI* pEscortAI = CAST_AI(npc_akunoAI, pCreature->AI()))
- pEscortAI->Start(false, true, pPlayer->GetGUID());
+ pEscortAI->Start(false, false, pPlayer->GetGUID());
+
+ if (pPlayer->GetTeamId() == TEAM_ALLIANCE)
+ pCreature->setFaction(FACTION_ESCORT_A_NEUTRAL_PASSIVE);
+ else
+ pCreature->setFaction(FACTION_ESCORT_H_NEUTRAL_PASSIVE);
}
return true;
}