Core: Scripting: Shade of Akama WIP

This commit is contained in:
Malcrom
2013-07-08 12:39:32 -02:30
parent bebae5d3fa
commit 92eec6831a
4 changed files with 1004 additions and 810 deletions

View File

@@ -19,6 +19,8 @@
#ifndef BLACK_TEMPLE_H_
#define BLACK_TEMPLE_H_
uint32 const EncounterCount = 9;
enum DataTypes
{
DATA_AKAMA = 1,
@@ -49,4 +51,4 @@ enum DataTypes
DATA_BLOOD_ELF_COUNCIL_VOICE = 26
};
#endif // BLACK_TEMPLE_H_
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -28,8 +28,6 @@ EndScriptData */
#include "black_temple.h"
#include "Player.h"
#define MAX_ENCOUNTER 9
/* Black Temple encounters:
0 - High Warlord Naj'entus event
1 - Supremus Event
@@ -56,7 +54,7 @@ public:
{
instance_black_temple_InstanceMapScript(Map* map) : InstanceScript(map) {}
uint32 m_auiEncounter[MAX_ENCOUNTER];
uint32 m_auiEncounter[EncounterCount];
std::string str_data;
uint64 Najentus;
@@ -89,37 +87,37 @@ public:
{
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
Najentus = 0;
Akama = 0;
Akama_Shade = 0;
ShadeOfAkama = 0;
Supremus = 0;
LadyMalande = 0;
GathiosTheShatterer = 0;
Najentus = 0;
Akama = 0;
Akama_Shade = 0;
ShadeOfAkama = 0;
Supremus = 0;
LadyMalande = 0;
GathiosTheShatterer = 0;
HighNethermancerZerevor = 0;
VerasDarkshadow = 0;
IllidariCouncil = 0;
BloodElfCouncilVoice = 0;
IllidanStormrage = 0;
VerasDarkshadow = 0;
IllidariCouncil = 0;
BloodElfCouncilVoice = 0;
IllidanStormrage = 0;
NajentusGate = 0;
MainTempleDoors = 0;
ShadeOfAkamaDoor= 0;
CommonDoor = 0;//teron
NajentusGate = 0;
MainTempleDoors = 0;
ShadeOfAkamaDoor = 0;
CommonDoor = 0; // teron
TeronDoor = 0;
GuurtogDoor = 0;
MotherDoor = 0;
TempleDoor = 0;
SimpleDoor = 0;//Bycouncil
SimpleDoor = 0; // Bycouncil
CouncilDoor = 0;
IllidanGate = 0;
IllidanDoor[0] = 0;
IllidanDoor[1] = 0;
IllidanGate = 0;
IllidanDoor[0] = 0;
IllidanDoor[1] = 0;
}
bool IsEncounterInProgress() const
{
for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
for (uint8 i = 0; i < EncounterCount; ++i)
if (m_auiEncounter[i] == IN_PROGRESS)
return true;
@@ -149,7 +147,7 @@ public:
{
case 22887: Najentus = creature->GetGUID(); break;
case 23089: Akama = creature->GetGUID(); break;
case 22990: Akama_Shade = creature->GetGUID(); break;
case 23191: Akama_Shade = creature->GetGUID(); break;
case 22841: ShadeOfAkama = creature->GetGUID(); break;
case 22898: Supremus = creature->GetGUID(); break;
case 22917: IllidanStormrage = creature->GetGUID(); break;
@@ -167,13 +165,13 @@ public:
switch (go->GetEntry())
{
case 185483:
NajentusGate = go->GetGUID();// Gate past Naj'entus (at the entrance to Supermoose's courtyards)
NajentusGate = go->GetGUID(); // Gate past Naj'entus (at the entrance to Supermoose's courtyards)
if (m_auiEncounter[0] == DONE)
HandleGameObject(0, true, go);
break;
case 185882:
MainTempleDoors = go->GetGUID();// Main Temple Doors - right past Supermoose (Supremus)
MainTempleDoors = go->GetGUID(); // Main Temple Doors - right past Supermoose (Supremus)
if (m_auiEncounter[1] == DONE)
HandleGameObject(0, true, go);
break;
@@ -386,7 +384,7 @@ public:
>> m_auiEncounter[3] >> m_auiEncounter[4] >> m_auiEncounter[5] >> m_auiEncounter[6]
>> m_auiEncounter[7] >> m_auiEncounter[8];
for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
for (uint8 i = 0; i < EncounterCount; ++i)
if (m_auiEncounter[i] == IN_PROGRESS)
m_auiEncounter[i] = NOT_STARTED;