More SD2 code style. (Merge [SD2] 1237,1238,1239)

--HG--
branch : trunk
This commit is contained in:
Kudlaty
2009-08-14 02:50:40 +02:00
parent 5d4ffbb90a
commit ea5293da05
38 changed files with 591 additions and 622 deletions
@@ -24,7 +24,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_shadow_labyrinth.h" #include "def_shadow_labyrinth.h"
#define ENCOUNTERS 5 #define MAX_ENCOUNTER 5
#define REFECTORY_DOOR 183296 //door opened when blackheart the inciter dies #define REFECTORY_DOOR 183296 //door opened when blackheart the inciter dies
#define SCREAMING_HALL_DOOR 183295 //door opened when grandmaster vorpil dies #define SCREAMING_HALL_DOOR 183295 //door opened when grandmaster vorpil dies
@@ -40,31 +40,30 @@ struct TRINITY_DLL_DECL instance_shadow_labyrinth : public ScriptedInstance
{ {
instance_shadow_labyrinth(Map* pMap) : ScriptedInstance(pMap) {Initialize();}; instance_shadow_labyrinth(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
uint32 Encounter[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
std::string str_data; std::string str_data;
uint64 RefectoryDoorGUID; uint64 m_uiRefectoryDoorGUID;
uint64 ScreamingHallDoorGUID; uint64 m_uiScreamingHallDoorGUID;
uint64 GrandmasterVorpil; uint64 m_uiGrandmasterVorpil;
uint32 FelOverseerCount; uint32 m_uiFelOverseerCount;
void Initialize() void Initialize()
{ {
RefectoryDoorGUID = 0; memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
ScreamingHallDoorGUID = 0;
GrandmasterVorpil = 0; m_uiRefectoryDoorGUID = 0;
FelOverseerCount = 0; m_uiScreamingHallDoorGUID = 0;
for(uint8 i = 0; i < ENCOUNTERS; ++i) m_uiGrandmasterVorpil = 0;
Encounter[i] = NOT_STARTED; m_uiFelOverseerCount = 0;
} }
bool IsEncounterInProgress() const bool Ism_auiEncounterInProgress() const
{ {
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounter[i] == IN_PROGRESS) return true; if (m_auiEncounter[i] == IN_PROGRESS) return true;
return false; return false;
} }
@@ -74,14 +73,14 @@ struct TRINITY_DLL_DECL instance_shadow_labyrinth : public ScriptedInstance
switch(go->GetEntry()) switch(go->GetEntry())
{ {
case REFECTORY_DOOR: case REFECTORY_DOOR:
RefectoryDoorGUID = go->GetGUID(); m_uiRefectoryDoorGUID = go->GetGUID();
if (Encounter[2] == DONE) if (m_auiEncounter[2] == DONE)
DoUseDoorOrButton(RefectoryDoorGUID); DoUseDoorOrButton(m_uiRefectoryDoorGUID);
break; break;
case SCREAMING_HALL_DOOR: case SCREAMING_HALL_DOOR:
ScreamingHallDoorGUID = go->GetGUID(); m_uiScreamingHallDoorGUID = go->GetGUID();
if (Encounter[3] == DONE) if (m_auiEncounter[3] == DONE)
DoUseDoorOrButton(ScreamingHallDoorGUID); DoUseDoorOrButton(m_uiScreamingHallDoorGUID);
break; break;
} }
} }
@@ -91,11 +90,11 @@ struct TRINITY_DLL_DECL instance_shadow_labyrinth : public ScriptedInstance
switch(creature->GetEntry()) switch(creature->GetEntry())
{ {
case 18732: case 18732:
GrandmasterVorpil = creature->GetGUID(); m_uiGrandmasterVorpil = creature->GetGUID();
break; break;
case 18796: case 18796:
++FelOverseerCount; ++m_uiFelOverseerCount;
debug_log("TSCR: Shadow Labyrinth: counting %u Fel Overseers.",FelOverseerCount); debug_log("TSCR: Shadow Labyrinth: counting %u Fel Overseers.",m_uiFelOverseerCount);
break; break;
} }
} }
@@ -105,51 +104,51 @@ struct TRINITY_DLL_DECL instance_shadow_labyrinth : public ScriptedInstance
switch(type) switch(type)
{ {
case TYPE_HELLMAW: case TYPE_HELLMAW:
Encounter[0] = data; m_auiEncounter[0] = data;
break; break;
case TYPE_OVERSEER: case TYPE_OVERSEER:
if (data != DONE) if (data != DONE)
error_log("TSCR: Shadow Labyrinth: TYPE_OVERSEER did not expect other data than DONE"); error_log("TSCR: Shadow Labyrinth: TYPE_OVERSEER did not expect other data than DONE");
if (FelOverseerCount) if (m_uiFelOverseerCount)
{ {
--FelOverseerCount; --m_uiFelOverseerCount;
debug_log("TSCR: Shadow Labyrinth: %u Fel Overseers left to kill.",FelOverseerCount); debug_log("TSCR: Shadow Labyrinth: %u Fel Overseers left to kill.",m_uiFelOverseerCount);
} }
if (FelOverseerCount == 0) if (m_uiFelOverseerCount == 0)
{ {
Encounter[1] = DONE; m_auiEncounter[1] = DONE;
debug_log("TSCR: Shadow Labyrinth: TYPE_OVERSEER == DONE"); debug_log("TSCR: Shadow Labyrinth: TYPE_OVERSEER == DONE");
} }
break; break;
case DATA_BLACKHEARTTHEINCITEREVENT: case DATA_BLACKHEARTTHEINCITEREVENT:
if (data == DONE) if (data == DONE)
DoUseDoorOrButton(RefectoryDoorGUID); DoUseDoorOrButton(m_uiRefectoryDoorGUID);
Encounter[2] = data; m_auiEncounter[2] = data;
break; break;
case DATA_GRANDMASTERVORPILEVENT: case DATA_GRANDMASTERVORPILEVENT:
if (data == DONE) if (data == DONE)
DoUseDoorOrButton(ScreamingHallDoorGUID); DoUseDoorOrButton(m_uiScreamingHallDoorGUID);
Encounter[3] = data; m_auiEncounter[3] = data;
break; break;
case DATA_MURMUREVENT: case DATA_MURMUREVENT:
Encounter[4] = data; m_auiEncounter[4] = data;
break; break;
} }
if (data == DONE) if (data == DONE)
{ {
if (type == TYPE_OVERSEER && FelOverseerCount != 0) if (type == TYPE_OVERSEER && m_uiFelOverseerCount != 0)
return; return;
OUT_SAVE_INST_DATA; OUT_SAVE_INST_DATA;
std::ostringstream saveStream; std::ostringstream saveStream;
saveStream << Encounter[0] << " " << Encounter[1] << " " saveStream << m_auiEncounter[0] << " " << m_auiEncounter[1] << " "
<< Encounter[2] << " " << Encounter[3] << " " << Encounter[4]; << m_auiEncounter[2] << " " << m_auiEncounter[3] << " " << m_auiEncounter[4];
str_data = saveStream.str(); str_data = saveStream.str();
@@ -162,10 +161,10 @@ struct TRINITY_DLL_DECL instance_shadow_labyrinth : public ScriptedInstance
{ {
switch(type) switch(type)
{ {
case TYPE_HELLMAW: return Encounter[0]; case TYPE_HELLMAW: return m_auiEncounter[0];
case TYPE_OVERSEER: return Encounter[1]; case TYPE_OVERSEER: return m_auiEncounter[1];
case DATA_GRANDMASTERVORPILEVENT: return Encounter[3]; case DATA_GRANDMASTERVORPILEVENT: return m_auiEncounter[3];
case DATA_MURMUREVENT: return Encounter[4]; case DATA_MURMUREVENT: return m_auiEncounter[4];
} }
return false; return false;
} }
@@ -173,7 +172,7 @@ struct TRINITY_DLL_DECL instance_shadow_labyrinth : public ScriptedInstance
uint64 GetData64(uint32 identifier) uint64 GetData64(uint32 identifier)
{ {
if (identifier == DATA_GRANDMASTERVORPIL) if (identifier == DATA_GRANDMASTERVORPIL)
return GrandmasterVorpil; return m_uiGrandmasterVorpil;
return 0; return 0;
} }
@@ -194,11 +193,11 @@ struct TRINITY_DLL_DECL instance_shadow_labyrinth : public ScriptedInstance
OUT_LOAD_INST_DATA(in); OUT_LOAD_INST_DATA(in);
std::istringstream loadStream(in); std::istringstream loadStream(in);
loadStream >> Encounter[0] >> Encounter[1] >> Encounter[2] >> Encounter[3] >> Encounter[4]; loadStream >> m_auiEncounter[0] >> m_auiEncounter[1] >> m_auiEncounter[2] >> m_auiEncounter[3] >> m_auiEncounter[4];
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounter[i] == IN_PROGRESS) if (m_auiEncounter[i] == IN_PROGRESS)
Encounter[i] = NOT_STARTED; m_auiEncounter[i] = NOT_STARTED;
OUT_LOAD_INST_DATA_COMPLETE; OUT_LOAD_INST_DATA_COMPLETE;
} }
@@ -26,7 +26,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_ahnkahet.h" #include "def_ahnkahet.h"
#define ENCOUNTERS 5 #define MAX_ENCOUNTER 5
/* Ahn'kahet encounters: /* Ahn'kahet encounters:
0 - Elder Nadox 0 - Elder Nadox
@@ -46,7 +46,7 @@ struct TRINITY_DLL_DECL instance_ahnkahet : public ScriptedInstance
uint64 Herald_Volazj; uint64 Herald_Volazj;
uint64 Amanitar; uint64 Amanitar;
uint32 Encounters[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
void Initialize() void Initialize()
{ {
@@ -56,14 +56,14 @@ struct TRINITY_DLL_DECL instance_ahnkahet : public ScriptedInstance
Herald_Volazj =0; Herald_Volazj =0;
Amanitar =0; Amanitar =0;
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
Encounters[i] = NOT_STARTED; m_auiEncounter[i] = NOT_STARTED;
} }
bool IsEncounterInProgress() const bool IsEncounterInProgress() const
{ {
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) return true; if (m_auiEncounter[i] == IN_PROGRESS) return true;
return false; return false;
} }
@@ -99,15 +99,15 @@ struct TRINITY_DLL_DECL instance_ahnkahet : public ScriptedInstance
switch(type) switch(type)
{ {
case DATA_ELDER_NADOX_EVENT: case DATA_ELDER_NADOX_EVENT:
Encounters[0] = data;break; m_auiEncounter[0] = data;break;
case DATA_PRINCE_TALDARAM_EVENT: case DATA_PRINCE_TALDARAM_EVENT:
Encounters[1] = data; break; m_auiEncounter[1] = data; break;
case DATA_JEDOGA_SHADOWSEEKER_EVENT: case DATA_JEDOGA_SHADOWSEEKER_EVENT:
Encounters[2] = data; break; m_auiEncounter[2] = data; break;
case DATA_HERALD_VOLAZJ: case DATA_HERALD_VOLAZJ:
Encounters[3] = data; break; m_auiEncounter[3] = data; break;
case DATA_AMANITAR: case DATA_AMANITAR:
Encounters[4] = data; break; m_auiEncounter[4] = data; break;
} }
if (data == DONE) if (data == DONE)
@@ -120,11 +120,11 @@ struct TRINITY_DLL_DECL instance_ahnkahet : public ScriptedInstance
{ {
switch(type) switch(type)
{ {
case DATA_ELDER_NADOX_EVENT: return Encounters[0]; case DATA_ELDER_NADOX_EVENT: return m_auiEncounter[0];
case DATA_PRINCE_TALDARAM_EVENT: return Encounters[1]; case DATA_PRINCE_TALDARAM_EVENT: return m_auiEncounter[1];
case DATA_JEDOGA_SHADOWSEEKER_EVENT: return Encounters[2]; case DATA_JEDOGA_SHADOWSEEKER_EVENT: return m_auiEncounter[2];
case DATA_HERALD_VOLAZJ: return Encounters[3]; case DATA_HERALD_VOLAZJ: return m_auiEncounter[3];
case DATA_AMANITAR: return Encounters[4]; case DATA_AMANITAR: return m_auiEncounter[4];
} }
return 0; return 0;
} }
@@ -136,8 +136,8 @@ struct TRINITY_DLL_DECL instance_ahnkahet : public ScriptedInstance
std::string str_data; std::string str_data;
std::ostringstream saveStream; std::ostringstream saveStream;
saveStream << "A K " << Encounters[0] << " " << Encounters[1] << " " saveStream << "A K " << m_auiEncounter[0] << " " << m_auiEncounter[1] << " "
<< Encounters[2] << Encounters[3] << Encounters[4]; << m_auiEncounter[2] << m_auiEncounter[3] << m_auiEncounter[4];
str_data = saveStream.str(); str_data = saveStream.str();
@@ -163,15 +163,15 @@ struct TRINITY_DLL_DECL instance_ahnkahet : public ScriptedInstance
if (dataHead1 == 'A' && dataHead2 == 'K') if (dataHead1 == 'A' && dataHead2 == 'K')
{ {
Encounters[0] = data0; m_auiEncounter[0] = data0;
Encounters[1] = data1; m_auiEncounter[1] = data1;
Encounters[2] = data2; m_auiEncounter[2] = data2;
Encounters[3] = data3; m_auiEncounter[3] = data3;
Encounters[4] = data4; m_auiEncounter[4] = data4;
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) if (m_auiEncounter[i] == IN_PROGRESS)
Encounters[i] = NOT_STARTED; m_auiEncounter[i] = NOT_STARTED;
}else OUT_LOAD_INST_DATA_FAIL; }else OUT_LOAD_INST_DATA_FAIL;
@@ -26,7 +26,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_azjol_nerub.h" #include "def_azjol_nerub.h"
#define ENCOUNTERS 3 #define MAX_ENCOUNTER 3
/* Azjol Nerub encounters: /* Azjol Nerub encounters:
0 - Krik'thir the Gatewatcher 0 - Krik'thir the Gatewatcher
@@ -38,27 +38,25 @@ struct TRINITY_DLL_DECL instance_azjol_nerub : public ScriptedInstance
{ {
instance_azjol_nerub(Map* pMap) : ScriptedInstance(pMap) {Initialize();}; instance_azjol_nerub(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
uint64 Krikthir; uint64 m_uiKrikthir;
uint64 Hadronox; uint64 m_uiHadronox;
uint64 Anubarak; uint64 m_uiAnubarak;
uint32 Encounters[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
void Initialize() void Initialize()
{ {
Krikthir = 0; memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
Hadronox = 0;
Anubarak =0;
m_uiKrikthir = 0;
for(uint8 i = 0; i < ENCOUNTERS; ++i) m_uiHadronox = 0;
Encounters[i] = NOT_STARTED; m_uiAnubarak =0;
} }
bool IsEncounterInProgress() const bool IsEncounterInProgress() const
{ {
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) return true; if (m_auiEncounter[i] == IN_PROGRESS) return true;
return false; return false;
} }
@@ -68,9 +66,9 @@ struct TRINITY_DLL_DECL instance_azjol_nerub : public ScriptedInstance
{ {
switch(creature->GetEntry()) switch(creature->GetEntry())
{ {
case 28684: Krikthir = creature->GetGUID(); break; case 28684: m_uiKrikthir = creature->GetGUID(); break;
case 28921: Hadronox = creature->GetGUID(); break; case 28921: m_uiHadronox = creature->GetGUID(); break;
case 29120: Anubarak = creature->GetGUID(); break; case 29120: m_uiAnubarak = creature->GetGUID(); break;
} }
} }
@@ -79,9 +77,9 @@ struct TRINITY_DLL_DECL instance_azjol_nerub : public ScriptedInstance
{ {
switch(identifier) switch(identifier)
{ {
case DATA_KRIKTHIR_THE_GATEWATCHER: return Krikthir; case DATA_KRIKTHIR_THE_GATEWATCHER: return m_uiKrikthir;
case DATA_HADRONOX: return Hadronox; case DATA_HADRONOX: return m_uiHadronox;
case DATA_ANUBARAK: return Anubarak; case DATA_ANUBARAK: return m_uiAnubarak;
} }
return 0; return 0;
@@ -92,11 +90,11 @@ struct TRINITY_DLL_DECL instance_azjol_nerub : public ScriptedInstance
switch(type) switch(type)
{ {
case DATA_KRIKTHIR_THE_GATEWATCHER_EVENT: case DATA_KRIKTHIR_THE_GATEWATCHER_EVENT:
Encounters[0] = data;break; m_auiEncounter[0] = data;break;
case DATA_HADRONOX_EVENT: case DATA_HADRONOX_EVENT:
Encounters[1] = data; break; m_auiEncounter[1] = data; break;
case DATA_ANUBARAK_EVENT: case DATA_ANUBARAK_EVENT:
Encounters[2] = data; break; m_auiEncounter[2] = data; break;
} }
if (data == DONE) if (data == DONE)
@@ -109,9 +107,9 @@ struct TRINITY_DLL_DECL instance_azjol_nerub : public ScriptedInstance
{ {
switch(type) switch(type)
{ {
case DATA_KRIKTHIR_THE_GATEWATCHER_EVENT: return Encounters[0]; case DATA_KRIKTHIR_THE_GATEWATCHER_EVENT: return m_auiEncounter[0];
case DATA_HADRONOX_EVENT: return Encounters[1]; case DATA_HADRONOX_EVENT: return m_auiEncounter[1];
case DATA_ANUBARAK_EVENT: return Encounters[2]; case DATA_ANUBARAK_EVENT: return m_auiEncounter[2];
} }
return 0; return 0;
@@ -124,8 +122,8 @@ struct TRINITY_DLL_DECL instance_azjol_nerub : public ScriptedInstance
std::string str_data; std::string str_data;
std::ostringstream saveStream; std::ostringstream saveStream;
saveStream << "A N " << Encounters[0] << " " << Encounters[1] << " " saveStream << "A N " << m_auiEncounter[0] << " " << m_auiEncounter[1] << " "
<< Encounters[2]; << m_auiEncounter[2];
str_data = saveStream.str(); str_data = saveStream.str();
@@ -151,13 +149,13 @@ struct TRINITY_DLL_DECL instance_azjol_nerub : public ScriptedInstance
if (dataHead1 == 'A' && dataHead2 == 'N') if (dataHead1 == 'A' && dataHead2 == 'N')
{ {
Encounters[0] = data0; m_auiEncounter[0] = data0;
Encounters[1] = data1; m_auiEncounter[1] = data1;
Encounters[2] = data2; m_auiEncounter[2] = data2;
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) if (m_auiEncounter[i] == IN_PROGRESS)
Encounters[i] = NOT_STARTED; m_auiEncounter[i] = NOT_STARTED;
}else OUT_LOAD_INST_DATA_FAIL; }else OUT_LOAD_INST_DATA_FAIL;
@@ -24,7 +24,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_black_temple.h" #include "def_black_temple.h"
#define ENCOUNTERS 9 #define MAX_ENCOUNTER 9
/* Black Temple encounters: /* Black Temple encounters:
0 - High Warlord Naj'entus event 0 - High Warlord Naj'entus event
@@ -42,7 +42,7 @@ struct TRINITY_DLL_DECL instance_black_temple : public ScriptedInstance
{ {
instance_black_temple(Map* pMap) : ScriptedInstance(pMap) {Initialize();}; instance_black_temple(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
uint32 Encounters[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
std::string str_data; std::string str_data;
uint64 Najentus; uint64 Najentus;
@@ -73,6 +73,8 @@ struct TRINITY_DLL_DECL instance_black_temple : public ScriptedInstance
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
Najentus = 0; Najentus = 0;
Akama = 0; Akama = 0;
Akama_Shade = 0; Akama_Shade = 0;
@@ -99,15 +101,12 @@ struct TRINITY_DLL_DECL instance_black_temple : public ScriptedInstance
IllidanGate = 0; IllidanGate = 0;
IllidanDoor[0] = 0; IllidanDoor[0] = 0;
IllidanDoor[1] = 0; IllidanDoor[1] = 0;
for(uint8 i = 0; i < ENCOUNTERS; ++i)
Encounters[i] = NOT_STARTED;
} }
bool IsEncounterInProgress() const bool IsEncounterInProgress() const
{ {
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) return true; if (m_auiEncounter[i] == IN_PROGRESS) return true;
return false; return false;
} }
@@ -153,24 +152,24 @@ struct TRINITY_DLL_DECL instance_black_temple : public ScriptedInstance
switch(go->GetEntry()) switch(go->GetEntry())
{ {
case 185483: NajentusGate = go->GetGUID();// Gate past Naj'entus (at the entrance to Supermoose's courtyards) case 185483: NajentusGate = go->GetGUID();// Gate past Naj'entus (at the entrance to Supermoose's courtyards)
if (Encounters[0] == DONE)HandleGameObject(NULL,true,go);break; if (m_auiEncounter[0] == DONE)HandleGameObject(NULL,true,go);break;
case 185882: MainTempleDoors = go->GetGUID();// Main Temple Doors - right past Supermoose (Supremus) case 185882: MainTempleDoors = go->GetGUID();// Main Temple Doors - right past Supermoose (Supremus)
if (Encounters[1] == DONE)HandleGameObject(NULL,true,go);break; if (m_auiEncounter[1] == DONE)HandleGameObject(NULL,true,go);break;
case 185478: ShadeOfAkamaDoor = go->GetGUID();break; case 185478: ShadeOfAkamaDoor = go->GetGUID();break;
case 185480: CommonDoor = go->GetGUID(); case 185480: CommonDoor = go->GetGUID();
if (Encounters[3] == DONE)HandleGameObject(NULL,true,go);;break; if (m_auiEncounter[3] == DONE)HandleGameObject(NULL,true,go);;break;
case 186153: TeronDoor = go->GetGUID(); case 186153: TeronDoor = go->GetGUID();
if (Encounters[3] == DONE)HandleGameObject(NULL,true,go);;break; if (m_auiEncounter[3] == DONE)HandleGameObject(NULL,true,go);;break;
case 185892: GuurtogDoor = go->GetGUID(); case 185892: GuurtogDoor = go->GetGUID();
if (Encounters[4] == DONE)HandleGameObject(NULL,true,go);break; if (m_auiEncounter[4] == DONE)HandleGameObject(NULL,true,go);break;
case 185479: TempleDoor = go->GetGUID(); case 185479: TempleDoor = go->GetGUID();
if (Encounters[5] == DONE)HandleGameObject(NULL,true,go);break; if (m_auiEncounter[5] == DONE)HandleGameObject(NULL,true,go);break;
case 185482: MotherDoor = go->GetGUID(); case 185482: MotherDoor = go->GetGUID();
if (Encounters[6] == DONE)HandleGameObject(NULL,true,go);break; if (m_auiEncounter[6] == DONE)HandleGameObject(NULL,true,go);break;
case 185481: CouncilDoor = go->GetGUID(); case 185481: CouncilDoor = go->GetGUID();
if (Encounters[7] == DONE)HandleGameObject(NULL,true,go);break; if (m_auiEncounter[7] == DONE)HandleGameObject(NULL,true,go);break;
case 186152: SimpleDoor = go->GetGUID(); case 186152: SimpleDoor = go->GetGUID();
if (Encounters[7] == DONE)HandleGameObject(NULL,true,go);break; if (m_auiEncounter[7] == DONE)HandleGameObject(NULL,true,go);break;
case 185905: IllidanGate = go->GetGUID(); break; // Gate leading to Temple Summit case 185905: IllidanGate = go->GetGUID(); break; // Gate leading to Temple Summit
case 186261: IllidanDoor[0] = go->GetGUID(); break; // Right door at Temple Summit case 186261: IllidanDoor[0] = go->GetGUID(); break; // Right door at Temple Summit
case 186262: IllidanDoor[1] = go->GetGUID(); break; // Left door at Temple Summit case 186262: IllidanDoor[1] = go->GetGUID(); break; // Left door at Temple Summit
@@ -212,19 +211,19 @@ struct TRINITY_DLL_DECL instance_black_temple : public ScriptedInstance
{ {
HandleGameObject(NajentusGate, true); HandleGameObject(NajentusGate, true);
} }
Encounters[0] = data;break; m_auiEncounter[0] = data;break;
case DATA_SUPREMUSEVENT: case DATA_SUPREMUSEVENT:
if (data == DONE) if (data == DONE)
{ {
HandleGameObject(NajentusGate, true); HandleGameObject(NajentusGate, true);
} }
Encounters[1] = data; break; m_auiEncounter[1] = data; break;
case DATA_SHADEOFAKAMAEVENT: case DATA_SHADEOFAKAMAEVENT:
if (data == IN_PROGRESS) if (data == IN_PROGRESS)
{ {
HandleGameObject(ShadeOfAkamaDoor, false); HandleGameObject(ShadeOfAkamaDoor, false);
}else HandleGameObject(ShadeOfAkamaDoor, true); }else HandleGameObject(ShadeOfAkamaDoor, true);
Encounters[2] = data; break; m_auiEncounter[2] = data; break;
case DATA_TERONGOREFIENDEVENT: case DATA_TERONGOREFIENDEVENT:
if (data == IN_PROGRESS) if (data == IN_PROGRESS)
{ {
@@ -235,25 +234,25 @@ struct TRINITY_DLL_DECL instance_black_temple : public ScriptedInstance
HandleGameObject(TeronDoor, true); HandleGameObject(TeronDoor, true);
HandleGameObject(CommonDoor, true); HandleGameObject(CommonDoor, true);
} }
Encounters[3] = data; break; m_auiEncounter[3] = data; break;
case DATA_GURTOGGBLOODBOILEVENT: case DATA_GURTOGGBLOODBOILEVENT:
if (data == DONE) if (data == DONE)
{ {
HandleGameObject(GuurtogDoor, true); HandleGameObject(GuurtogDoor, true);
} }
Encounters[4] = data; break; m_auiEncounter[4] = data; break;
case DATA_RELIQUARYOFSOULSEVENT: case DATA_RELIQUARYOFSOULSEVENT:
if (data == DONE) if (data == DONE)
{ {
HandleGameObject(TempleDoor, true); HandleGameObject(TempleDoor, true);
} }
Encounters[5] = data; break; m_auiEncounter[5] = data; break;
case DATA_MOTHERSHAHRAZEVENT: case DATA_MOTHERSHAHRAZEVENT:
if (data == DONE) if (data == DONE)
{ {
HandleGameObject(MotherDoor, true); HandleGameObject(MotherDoor, true);
} }
Encounters[6] = data; break; m_auiEncounter[6] = data; break;
case DATA_ILLIDARICOUNCILEVENT: case DATA_ILLIDARICOUNCILEVENT:
if (data == IN_PROGRESS) if (data == IN_PROGRESS)
{ {
@@ -264,8 +263,8 @@ struct TRINITY_DLL_DECL instance_black_temple : public ScriptedInstance
HandleGameObject(CouncilDoor, true); HandleGameObject(CouncilDoor, true);
HandleGameObject(SimpleDoor, true); HandleGameObject(SimpleDoor, true);
} }
Encounters[7] = data; break; m_auiEncounter[7] = data; break;
case DATA_ILLIDANSTORMRAGEEVENT: Encounters[8] = data; break; case DATA_ILLIDANSTORMRAGEEVENT: m_auiEncounter[8] = data; break;
} }
if (data == DONE) if (data == DONE)
@@ -273,10 +272,10 @@ struct TRINITY_DLL_DECL instance_black_temple : public ScriptedInstance
OUT_SAVE_INST_DATA; OUT_SAVE_INST_DATA;
std::ostringstream saveStream; std::ostringstream saveStream;
saveStream << Encounters[0] << " " << Encounters[1] << " " saveStream << m_auiEncounter[0] << " " << m_auiEncounter[1] << " "
<< Encounters[2] << " " << Encounters[3] << " " << Encounters[4] << m_auiEncounter[2] << " " << m_auiEncounter[3] << " " << m_auiEncounter[4]
<< " " << Encounters[5] << " " << Encounters[6] << " " << Encounters[7] << " " << m_auiEncounter[5] << " " << m_auiEncounter[6] << " " << m_auiEncounter[7]
<< " " << Encounters[8]; << " " << m_auiEncounter[8];
str_data = saveStream.str(); str_data = saveStream.str();
@@ -289,15 +288,15 @@ struct TRINITY_DLL_DECL instance_black_temple : public ScriptedInstance
{ {
switch(type) switch(type)
{ {
case DATA_HIGHWARLORDNAJENTUSEVENT: return Encounters[0]; case DATA_HIGHWARLORDNAJENTUSEVENT: return m_auiEncounter[0];
case DATA_SUPREMUSEVENT: return Encounters[1]; case DATA_SUPREMUSEVENT: return m_auiEncounter[1];
case DATA_SHADEOFAKAMAEVENT: return Encounters[2]; case DATA_SHADEOFAKAMAEVENT: return m_auiEncounter[2];
case DATA_TERONGOREFIENDEVENT: return Encounters[3]; case DATA_TERONGOREFIENDEVENT: return m_auiEncounter[3];
case DATA_GURTOGGBLOODBOILEVENT: return Encounters[4]; case DATA_GURTOGGBLOODBOILEVENT: return m_auiEncounter[4];
case DATA_RELIQUARYOFSOULSEVENT: return Encounters[5]; case DATA_RELIQUARYOFSOULSEVENT: return m_auiEncounter[5];
case DATA_MOTHERSHAHRAZEVENT: return Encounters[6]; case DATA_MOTHERSHAHRAZEVENT: return m_auiEncounter[6];
case DATA_ILLIDARICOUNCILEVENT: return Encounters[7]; case DATA_ILLIDARICOUNCILEVENT: return m_auiEncounter[7];
case DATA_ILLIDANSTORMRAGEEVENT: return Encounters[8]; case DATA_ILLIDANSTORMRAGEEVENT: return m_auiEncounter[8];
} }
return 0; return 0;
@@ -319,13 +318,13 @@ struct TRINITY_DLL_DECL instance_black_temple : public ScriptedInstance
OUT_LOAD_INST_DATA(in); OUT_LOAD_INST_DATA(in);
std::istringstream loadStream(in); std::istringstream loadStream(in);
loadStream >> Encounters[0] >> Encounters[1] >> Encounters[2] loadStream >> m_auiEncounter[0] >> m_auiEncounter[1] >> m_auiEncounter[2]
>> Encounters[3] >> Encounters[4] >> Encounters[5] >> Encounters[6] >> m_auiEncounter[3] >> m_auiEncounter[4] >> m_auiEncounter[5] >> m_auiEncounter[6]
>> Encounters[7] >> Encounters[8]; >> m_auiEncounter[7] >> m_auiEncounter[8];
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) if (m_auiEncounter[i] == IN_PROGRESS)
Encounters[i] = NOT_STARTED; m_auiEncounter[i] = NOT_STARTED;
OUT_LOAD_INST_DATA_COMPLETE; OUT_LOAD_INST_DATA_COMPLETE;
} }
@@ -24,7 +24,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_blackfathom_deeps.h" #include "def_blackfathom_deeps.h"
#define ENCOUNTERS 2 #define MAX_ENCOUNTER 2
/* Encounter 0 = Twilight Lord Kelris /* Encounter 0 = Twilight Lord Kelris
Encounter 1 = Shrine event Encounter 1 = Shrine event
@@ -44,10 +44,12 @@ struct TRINITY_DLL_DECL instance_blackfathom_deeps : public ScriptedInstance
uint64 m_uiAltarOfTheDeepsGUID; uint64 m_uiAltarOfTheDeepsGUID;
uint64 m_uiMainDoorGUID; uint64 m_uiMainDoorGUID;
uint32 m_uiEncounter[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
m_uiTwilightLordKelrisGUID = 0; m_uiTwilightLordKelrisGUID = 0;
m_uiShrine1GUID = 0; m_uiShrine1GUID = 0;
m_uiShrine2GUID = 0; m_uiShrine2GUID = 0;
@@ -56,9 +58,6 @@ struct TRINITY_DLL_DECL instance_blackfathom_deeps : public ScriptedInstance
m_uiShrineOfGelihastGUID = 0; m_uiShrineOfGelihastGUID = 0;
m_uiAltarOfTheDeepsGUID = 0; m_uiAltarOfTheDeepsGUID = 0;
m_uiMainDoorGUID = 0; m_uiMainDoorGUID = 0;
for(uint8 i = 0; i < ENCOUNTERS; ++i)
m_uiEncounter[i] = NOT_STARTED;
} }
void OnCreatureCreate(Creature* pCreature, bool add) void OnCreatureCreate(Creature* pCreature, bool add)
@@ -86,10 +85,10 @@ struct TRINITY_DLL_DECL instance_blackfathom_deeps : public ScriptedInstance
switch(uiType) switch(uiType)
{ {
case TYPE_KELRIS: case TYPE_KELRIS:
m_uiEncounter[0] = uiData; m_auiEncounter[0] = uiData;
break; break;
case TYPE_SHRINE: case TYPE_SHRINE:
m_uiEncounter[1] = uiData; m_auiEncounter[1] = uiData;
break; break;
} }
} }
@@ -99,9 +98,9 @@ struct TRINITY_DLL_DECL instance_blackfathom_deeps : public ScriptedInstance
switch(uiType) switch(uiType)
{ {
case TYPE_KELRIS: case TYPE_KELRIS:
return m_uiEncounter[0]; return m_auiEncounter[0];
case TYPE_SHRINE: case TYPE_SHRINE:
return m_uiEncounter[1]; return m_auiEncounter[1];
} }
return 0; return 0;
@@ -36,7 +36,7 @@ update `instance_template` set `script`='instance_blackrock_depths' where `map`=
enum enum
{ {
ENCOUNTERS = 6, MAX_ENCOUNTER = 6,
NPC_EMPEROR = 9019, NPC_EMPEROR = 9019,
NPC_PHALANX = 9502, NPC_PHALANX = 9502,
@@ -74,7 +74,7 @@ struct TRINITY_DLL_DECL instance_blackrock_depths : public ScriptedInstance
{ {
instance_blackrock_depths(Map* pMap) : ScriptedInstance(pMap) {Initialize();}; instance_blackrock_depths(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
uint32 Encounter[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
std::string str_data; std::string str_data;
uint64 EmperorGUID; uint64 EmperorGUID;
@@ -108,6 +108,8 @@ struct TRINITY_DLL_DECL instance_blackrock_depths : public ScriptedInstance
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
EmperorGUID = 0; EmperorGUID = 0;
PhalanxGUID = 0; PhalanxGUID = 0;
@@ -136,8 +138,6 @@ struct TRINITY_DLL_DECL instance_blackrock_depths : public ScriptedInstance
TombTimer = TIMER_TOMBOFTHESEVEN; TombTimer = TIMER_TOMBOFTHESEVEN;
TombEventCounter = 0; TombEventCounter = 0;
for(uint8 i = 0; i < ENCOUNTERS; ++i)
Encounter[i] = NOT_STARTED;
for(uint8 i = 0; i < 7; ++i) for(uint8 i = 0; i < 7; ++i)
TombBossGUIDs[i] = 0; TombBossGUIDs[i] = 0;
} }
@@ -212,25 +212,25 @@ struct TRINITY_DLL_DECL instance_blackrock_depths : public ScriptedInstance
switch(type) switch(type)
{ {
case TYPE_RING_OF_LAW: case TYPE_RING_OF_LAW:
Encounter[0] = data; m_auiEncounter[0] = data;
break; break;
case TYPE_VAULT: case TYPE_VAULT:
Encounter[1] = data; m_auiEncounter[1] = data;
break; break;
case TYPE_BAR: case TYPE_BAR:
if (data == SPECIAL) if (data == SPECIAL)
++BarAleCount; ++BarAleCount;
else else
Encounter[2] = data; m_auiEncounter[2] = data;
break; break;
case TYPE_TOMB_OF_SEVEN: case TYPE_TOMB_OF_SEVEN:
Encounter[3] = data; m_auiEncounter[3] = data;
break; break;
case TYPE_LYCEUM: case TYPE_LYCEUM:
Encounter[4] = data; m_auiEncounter[4] = data;
break; break;
case TYPE_IRON_HALL: case TYPE_IRON_HALL:
Encounter[5] = data; m_auiEncounter[5] = data;
break; break;
case DATA_GHOSTKILL: case DATA_GHOSTKILL:
GhostKillCount += data; GhostKillCount += data;
@@ -242,8 +242,8 @@ struct TRINITY_DLL_DECL instance_blackrock_depths : public ScriptedInstance
OUT_SAVE_INST_DATA; OUT_SAVE_INST_DATA;
std::ostringstream saveStream; std::ostringstream saveStream;
saveStream << Encounter[0] << " " << Encounter[1] << " " << Encounter[2] << " " saveStream << m_auiEncounter[0] << " " << m_auiEncounter[1] << " " << m_auiEncounter[2] << " "
<< Encounter[3] << " " << Encounter[4] << " " << Encounter[5] << " " << GhostKillCount; << m_auiEncounter[3] << " " << m_auiEncounter[4] << " " << m_auiEncounter[5] << " " << GhostKillCount;
str_data = saveStream.str(); str_data = saveStream.str();
@@ -257,20 +257,20 @@ struct TRINITY_DLL_DECL instance_blackrock_depths : public ScriptedInstance
switch(type) switch(type)
{ {
case TYPE_RING_OF_LAW: case TYPE_RING_OF_LAW:
return Encounter[0]; return m_auiEncounter[0];
case TYPE_VAULT: case TYPE_VAULT:
return Encounter[1]; return m_auiEncounter[1];
case TYPE_BAR: case TYPE_BAR:
if (Encounter[2] == IN_PROGRESS && BarAleCount == 3) if (m_auiEncounter[2] == IN_PROGRESS && BarAleCount == 3)
return SPECIAL; return SPECIAL;
else else
return Encounter[2]; return m_auiEncounter[2];
case TYPE_TOMB_OF_SEVEN: case TYPE_TOMB_OF_SEVEN:
return Encounter[3]; return m_auiEncounter[3];
case TYPE_LYCEUM: case TYPE_LYCEUM:
return Encounter[4]; return m_auiEncounter[4];
case TYPE_IRON_HALL: case TYPE_IRON_HALL:
return Encounter[5]; return m_auiEncounter[5];
case DATA_GHOSTKILL: case DATA_GHOSTKILL:
return GhostKillCount; return GhostKillCount;
} }
@@ -321,12 +321,12 @@ struct TRINITY_DLL_DECL instance_blackrock_depths : public ScriptedInstance
OUT_LOAD_INST_DATA(in); OUT_LOAD_INST_DATA(in);
std::istringstream loadStream(in); std::istringstream loadStream(in);
loadStream >> Encounter[0] >> Encounter[1] >> Encounter[2] >> Encounter[3] loadStream >> m_auiEncounter[0] >> m_auiEncounter[1] >> m_auiEncounter[2] >> m_auiEncounter[3]
>> Encounter[4] >> Encounter[5] >> GhostKillCount; >> m_auiEncounter[4] >> m_auiEncounter[5] >> GhostKillCount;
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounter[i] == IN_PROGRESS) if (m_auiEncounter[i] == IN_PROGRESS)
Encounter[i] = NOT_STARTED; m_auiEncounter[i] = NOT_STARTED;
if (GhostKillCount > 0 && GhostKillCount < 7) if (GhostKillCount > 0 && GhostKillCount < 7)
GhostKillCount = 0;//reset tomb of seven event GhostKillCount = 0;//reset tomb of seven event
if (GhostKillCount > 7) if (GhostKillCount > 7)
@@ -24,7 +24,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_dark_portal.h" #include "def_dark_portal.h"
#define ENCOUNTERS 2 #define MAX_ENCOUNTER 2
#define C_MEDIVH 15608 #define C_MEDIVH 15608
#define C_TIME_RIFT 17838 #define C_TIME_RIFT 17838
@@ -63,7 +63,7 @@ struct TRINITY_DLL_DECL instance_dark_portal : public ScriptedInstance
{ {
instance_dark_portal(Map* pMap) : ScriptedInstance(pMap) {Initialize();}; instance_dark_portal(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
uint32 Encounter[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
uint32 mRiftPortalCount; uint32 mRiftPortalCount;
uint32 mShieldPercent; uint32 mShieldPercent;
@@ -83,8 +83,7 @@ struct TRINITY_DLL_DECL instance_dark_portal : public ScriptedInstance
void Clear() void Clear()
{ {
for(uint8 i = 0; i < ENCOUNTERS; ++i) memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
Encounter[i] = NOT_STARTED;
mRiftPortalCount = 0; mRiftPortalCount = 0;
mShieldPercent = 100; mShieldPercent = 100;
@@ -170,7 +169,7 @@ struct TRINITY_DLL_DECL instance_dark_portal : public ScriptedInstance
switch(type) switch(type)
{ {
case TYPE_MEDIVH: case TYPE_MEDIVH:
if (data == SPECIAL && Encounter[0] == IN_PROGRESS) if (data == SPECIAL && m_auiEncounter[0] == IN_PROGRESS)
{ {
--mShieldPercent; --mShieldPercent;
UpdateBMWorldState(WORLD_STATE_BM_SHIELD,mShieldPercent); UpdateBMWorldState(WORLD_STATE_BM_SHIELD,mShieldPercent);
@@ -182,8 +181,8 @@ struct TRINITY_DLL_DECL instance_dark_portal : public ScriptedInstance
if (pMedivh->isAlive()) if (pMedivh->isAlive())
{ {
pMedivh->DealDamage(pMedivh, pMedivh->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); pMedivh->DealDamage(pMedivh, pMedivh->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
Encounter[0] = FAIL; m_auiEncounter[0] = FAIL;
Encounter[1] = NOT_STARTED; m_auiEncounter[1] = NOT_STARTED;
} }
} }
} }
@@ -194,7 +193,7 @@ struct TRINITY_DLL_DECL instance_dark_portal : public ScriptedInstance
{ {
debug_log("TSCR: Instance Dark Portal: Starting event."); debug_log("TSCR: Instance Dark Portal: Starting event.");
InitWorldState(); InitWorldState();
Encounter[1] = IN_PROGRESS; m_auiEncounter[1] = IN_PROGRESS;
NextPortal_Timer = 15000; NextPortal_Timer = 15000;
} }
@@ -220,7 +219,7 @@ struct TRINITY_DLL_DECL instance_dark_portal : public ScriptedInstance
} }
} }
Encounter[0] = data; m_auiEncounter[0] = data;
} }
break; break;
case TYPE_RIFT: case TYPE_RIFT:
@@ -230,7 +229,7 @@ struct TRINITY_DLL_DECL instance_dark_portal : public ScriptedInstance
NextPortal_Timer = 5000; NextPortal_Timer = 5000;
} }
else else
Encounter[1] = data; m_auiEncounter[1] = data;
break; break;
} }
} }
@@ -240,9 +239,9 @@ struct TRINITY_DLL_DECL instance_dark_portal : public ScriptedInstance
switch(type) switch(type)
{ {
case TYPE_MEDIVH: case TYPE_MEDIVH:
return Encounter[0]; return m_auiEncounter[0];
case TYPE_RIFT: case TYPE_RIFT:
return Encounter[1]; return m_auiEncounter[1];
case DATA_PORTAL_COUNT: case DATA_PORTAL_COUNT:
return mRiftPortalCount; return mRiftPortalCount;
case DATA_SHIELD: case DATA_SHIELD:
@@ -323,7 +322,7 @@ struct TRINITY_DLL_DECL instance_dark_portal : public ScriptedInstance
void Update(uint32 diff) void Update(uint32 diff)
{ {
if (Encounter[1] != IN_PROGRESS) if (m_auiEncounter[1] != IN_PROGRESS)
return; return;
//add delay timer? //add delay timer?
@@ -27,7 +27,7 @@ EndScriptData */
enum enum
{ {
ENCOUNTERS = 5, MAX_ENCOUNTER = 5,
GO_ANCIENT_GEM = 185557 GO_ANCIENT_GEM = 185557
}; };
@@ -43,7 +43,7 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance
{ {
instance_mount_hyjal(Map* pMap) : ScriptedInstance(pMap) {Initialize();}; instance_mount_hyjal(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
uint32 Encounters[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
std::string str_data; std::string str_data;
std::list<uint64> m_uiAncientGemGUID; std::list<uint64> m_uiAncientGemGUID;
@@ -70,6 +70,8 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
m_uiAncientGemGUID.clear(); m_uiAncientGemGUID.clear();
RageWinterchill = 0; RageWinterchill = 0;
@@ -86,8 +88,6 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance
RaidDamage = 0; RaidDamage = 0;
Trash = 0; Trash = 0;
for(uint8 i = 0; i < ENCOUNTERS; ++i)
Encounters[i] = NOT_STARTED;
hordeRetreat = 0; hordeRetreat = 0;
allianceRetreat = 0; allianceRetreat = 0;
@@ -95,8 +95,8 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance
bool IsEncounterInProgress() const bool IsEncounterInProgress() const
{ {
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) return true; if (m_auiEncounter[i] == IN_PROGRESS) return true;
return false; return false;
} }
@@ -161,14 +161,14 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance
{ {
switch(type) switch(type)
{ {
case DATA_RAGEWINTERCHILLEVENT: Encounters[0] = data; break; case DATA_RAGEWINTERCHILLEVENT: m_auiEncounter[0] = data; break;
case DATA_ANETHERONEVENT: case DATA_ANETHERONEVENT:
Encounters[1] = data; m_auiEncounter[1] = data;
break; break;
case DATA_KAZROGALEVENT: Encounters[2] = data; break; case DATA_KAZROGALEVENT: m_auiEncounter[2] = data; break;
case DATA_AZGALOREVENT: case DATA_AZGALOREVENT:
{ {
Encounters[3] = data; m_auiEncounter[3] = data;
if (data==DONE) if (data==DONE)
{ {
if (ArchiYell)break; if (ArchiYell)break;
@@ -205,7 +205,7 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance
} }
} }
break; break;
case DATA_ARCHIMONDEEVENT: Encounters[4] = data; break; case DATA_ARCHIMONDEEVENT: m_auiEncounter[4] = data; break;
case DATA_RESET_TRASH_COUNT: Trash = 0; break; case DATA_RESET_TRASH_COUNT: Trash = 0; break;
case DATA_TRASH: case DATA_TRASH:
@@ -253,8 +253,8 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance
OUT_SAVE_INST_DATA; OUT_SAVE_INST_DATA;
std::ostringstream saveStream; std::ostringstream saveStream;
saveStream << Encounters[0] << " " << Encounters[1] << " " << Encounters[2] << " " saveStream << m_auiEncounter[0] << " " << m_auiEncounter[1] << " " << m_auiEncounter[2] << " "
<< Encounters[3] << " " << Encounters[4] << m_auiEncounter[3] << " " << m_auiEncounter[4]
<< " " << allianceRetreat << " " << hordeRetreat << " " << allianceRetreat << " " << hordeRetreat
<< " " << RaidDamage; << " " << RaidDamage;
@@ -270,11 +270,11 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance
{ {
switch(type) switch(type)
{ {
case DATA_RAGEWINTERCHILLEVENT: return Encounters[0]; case DATA_RAGEWINTERCHILLEVENT: return m_auiEncounter[0];
case DATA_ANETHERONEVENT: return Encounters[1]; case DATA_ANETHERONEVENT: return m_auiEncounter[1];
case DATA_KAZROGALEVENT: return Encounters[2]; case DATA_KAZROGALEVENT: return m_auiEncounter[2];
case DATA_AZGALOREVENT: return Encounters[3]; case DATA_AZGALOREVENT: return m_auiEncounter[3];
case DATA_ARCHIMONDEEVENT: return Encounters[4]; case DATA_ARCHIMONDEEVENT: return m_auiEncounter[4];
case DATA_TRASH: return Trash; case DATA_TRASH: return Trash;
case DATA_ALLIANCE_RETREAT: return allianceRetreat; case DATA_ALLIANCE_RETREAT: return allianceRetreat;
case DATA_HORDE_RETREAT: return hordeRetreat; case DATA_HORDE_RETREAT: return hordeRetreat;
@@ -312,10 +312,10 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance
OUT_LOAD_INST_DATA(in); OUT_LOAD_INST_DATA(in);
std::istringstream loadStream(in); std::istringstream loadStream(in);
loadStream >> Encounters[0] >> Encounters[1] >> Encounters[2] >> Encounters[3] >> Encounters[4] >> allianceRetreat >> hordeRetreat >> RaidDamage; loadStream >> m_auiEncounter[0] >> m_auiEncounter[1] >> m_auiEncounter[2] >> m_auiEncounter[3] >> m_auiEncounter[4] >> allianceRetreat >> hordeRetreat >> RaidDamage;
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) // Do not load an encounter as IN_PROGRESS - reset it instead. if (m_auiEncounter[i] == IN_PROGRESS) // Do not load an encounter as IN_PROGRESS - reset it instead.
Encounters[i] = NOT_STARTED; m_auiEncounter[i] = NOT_STARTED;
OUT_LOAD_INST_DATA_COMPLETE; OUT_LOAD_INST_DATA_COMPLETE;
} }
}; };
@@ -24,7 +24,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_old_hillsbrad.h" #include "def_old_hillsbrad.h"
#define ENCOUNTERS 6 #define MAX_ENCOUNTER 6
#define THRALL_ENTRY 17876 #define THRALL_ENTRY 17876
#define TARETHA_ENTRY 18887 #define TARETHA_ENTRY 18887
@@ -39,7 +39,7 @@ struct TRINITY_DLL_DECL instance_old_hillsbrad : public ScriptedInstance
{ {
instance_old_hillsbrad(Map* pMap) : ScriptedInstance(pMap) {Initialize();}; instance_old_hillsbrad(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
uint32 Encounter[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
uint32 mBarrelCount; uint32 mBarrelCount;
uint32 mThrallEventCount; uint32 mThrallEventCount;
@@ -49,14 +49,13 @@ struct TRINITY_DLL_DECL instance_old_hillsbrad : public ScriptedInstance
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
mBarrelCount = 0; mBarrelCount = 0;
mThrallEventCount = 0; mThrallEventCount = 0;
ThrallGUID = 0; ThrallGUID = 0;
TarethaGUID = 0; TarethaGUID = 0;
EpochGUID = 0; EpochGUID = 0;
for(uint8 i = 0; i < ENCOUNTERS; ++i)
Encounter[i] = NOT_STARTED;
} }
Player* GetPlayerInMap() Player* GetPlayerInMap()
@@ -136,12 +135,12 @@ struct TRINITY_DLL_DECL instance_old_hillsbrad : public ScriptedInstance
debug_log("TSCR: Instance Old Hillsbrad: go_barrel_old_hillsbrad count %u",mBarrelCount); debug_log("TSCR: Instance Old Hillsbrad: go_barrel_old_hillsbrad count %u",mBarrelCount);
Encounter[0] = IN_PROGRESS; m_auiEncounter[0] = IN_PROGRESS;
if (mBarrelCount == 5) if (mBarrelCount == 5)
{ {
pPlayer->SummonCreature(DRAKE_ENTRY,2128.43,71.01,64.42,1.74,TEMPSUMMON_TIMED_OR_DEAD_DESPAWN,1800000); pPlayer->SummonCreature(DRAKE_ENTRY,2128.43,71.01,64.42,1.74,TEMPSUMMON_TIMED_OR_DEAD_DESPAWN,1800000);
Encounter[0] = DONE; m_auiEncounter[0] = DONE;
} }
} }
break; break;
@@ -153,42 +152,42 @@ struct TRINITY_DLL_DECL instance_old_hillsbrad : public ScriptedInstance
if (mThrallEventCount <= 20) if (mThrallEventCount <= 20)
{ {
mThrallEventCount++; mThrallEventCount++;
Encounter[1] = NOT_STARTED; m_auiEncounter[1] = NOT_STARTED;
debug_log("TSCR: Instance Old Hillsbrad: Thrall event failed %u times. Resetting all sub-events.",mThrallEventCount); debug_log("TSCR: Instance Old Hillsbrad: Thrall event failed %u times. Resetting all sub-events.",mThrallEventCount);
Encounter[2] = NOT_STARTED; m_auiEncounter[2] = NOT_STARTED;
Encounter[3] = NOT_STARTED; m_auiEncounter[3] = NOT_STARTED;
Encounter[4] = NOT_STARTED; m_auiEncounter[4] = NOT_STARTED;
Encounter[5] = NOT_STARTED; m_auiEncounter[5] = NOT_STARTED;
} }
else if (mThrallEventCount > 20) else if (mThrallEventCount > 20)
{ {
Encounter[1] = data; m_auiEncounter[1] = data;
Encounter[2] = data; m_auiEncounter[2] = data;
Encounter[3] = data; m_auiEncounter[3] = data;
Encounter[4] = data; m_auiEncounter[4] = data;
Encounter[5] = data; m_auiEncounter[5] = data;
debug_log("TSCR: Instance Old Hillsbrad: Thrall event failed %u times. Resetting all sub-events.",mThrallEventCount); debug_log("TSCR: Instance Old Hillsbrad: Thrall event failed %u times. Resetting all sub-events.",mThrallEventCount);
} }
} }
else else
Encounter[1] = data; m_auiEncounter[1] = data;
debug_log("TSCR: Instance Old Hillsbrad: Thrall escort event adjusted to data %u.",data); debug_log("TSCR: Instance Old Hillsbrad: Thrall escort event adjusted to data %u.",data);
break; break;
} }
case TYPE_THRALL_PART1: case TYPE_THRALL_PART1:
Encounter[2] = data; m_auiEncounter[2] = data;
debug_log("TSCR: Instance Old Hillsbrad: Thrall event part I adjusted to data %u.",data); debug_log("TSCR: Instance Old Hillsbrad: Thrall event part I adjusted to data %u.",data);
break; break;
case TYPE_THRALL_PART2: case TYPE_THRALL_PART2:
Encounter[3] = data; m_auiEncounter[3] = data;
debug_log("TSCR: Instance Old Hillsbrad: Thrall event part II adjusted to data %u.",data); debug_log("TSCR: Instance Old Hillsbrad: Thrall event part II adjusted to data %u.",data);
break; break;
case TYPE_THRALL_PART3: case TYPE_THRALL_PART3:
Encounter[4] = data; m_auiEncounter[4] = data;
debug_log("TSCR: Instance Old Hillsbrad: Thrall event part III adjusted to data %u.",data); debug_log("TSCR: Instance Old Hillsbrad: Thrall event part III adjusted to data %u.",data);
break; break;
case TYPE_THRALL_PART4: case TYPE_THRALL_PART4:
Encounter[5] = data; m_auiEncounter[5] = data;
debug_log("TSCR: Instance Old Hillsbrad: Thrall event part IV adjusted to data %u.",data); debug_log("TSCR: Instance Old Hillsbrad: Thrall event part IV adjusted to data %u.",data);
break; break;
} }
@@ -199,17 +198,17 @@ struct TRINITY_DLL_DECL instance_old_hillsbrad : public ScriptedInstance
switch(data) switch(data)
{ {
case TYPE_BARREL_DIVERSION: case TYPE_BARREL_DIVERSION:
return Encounter[0]; return m_auiEncounter[0];
case TYPE_THRALL_EVENT: case TYPE_THRALL_EVENT:
return Encounter[1]; return m_auiEncounter[1];
case TYPE_THRALL_PART1: case TYPE_THRALL_PART1:
return Encounter[2]; return m_auiEncounter[2];
case TYPE_THRALL_PART2: case TYPE_THRALL_PART2:
return Encounter[3]; return m_auiEncounter[3];
case TYPE_THRALL_PART3: case TYPE_THRALL_PART3:
return Encounter[4]; return m_auiEncounter[4];
case TYPE_THRALL_PART4: case TYPE_THRALL_PART4:
return Encounter[5]; return m_auiEncounter[5];
} }
return 0; return 0;
} }
@@ -24,7 +24,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_serpent_shrine.h" #include "def_serpent_shrine.h"
#define ENCOUNTERS 6 #define MAX_ENCOUNTER 6
/* Serpentshrine cavern encounters: /* Serpentshrine cavern encounters:
0 - Hydross The Unstable event 0 - Hydross The Unstable event
@@ -67,10 +67,12 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance
uint64 StrangePool; uint64 StrangePool;
bool ShieldGeneratorDeactivated[4]; bool ShieldGeneratorDeactivated[4];
uint32 Encounters[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
LurkerBelow = 0; LurkerBelow = 0;
Sharkkis = 0; Sharkkis = 0;
Tidalvess = 0; Tidalvess = 0;
@@ -91,15 +93,12 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance
ShieldGeneratorDeactivated[1] = false; ShieldGeneratorDeactivated[1] = false;
ShieldGeneratorDeactivated[2] = false; ShieldGeneratorDeactivated[2] = false;
ShieldGeneratorDeactivated[3] = false; ShieldGeneratorDeactivated[3] = false;
for(uint8 i = 0; i < ENCOUNTERS; ++i)
Encounters[i] = NOT_STARTED;
} }
bool IsEncounterInProgress() const bool IsEncounterInProgress() const
{ {
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) return true; if (m_auiEncounter[i] == IN_PROGRESS) return true;
return false; return false;
} }
@@ -185,11 +184,11 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance
HandleGameObject(BridgePart[0], true); HandleGameObject(BridgePart[0], true);
} }
ControlConsole = data; ControlConsole = data;
case DATA_HYDROSSTHEUNSTABLEEVENT: Encounters[0] = data; break; case DATA_HYDROSSTHEUNSTABLEEVENT: m_auiEncounter[0] = data; break;
case DATA_LEOTHERASTHEBLINDEVENT: Encounters[1] = data; break; case DATA_LEOTHERASTHEBLINDEVENT: m_auiEncounter[1] = data; break;
case DATA_THELURKERBELOWEVENT: Encounters[2] = data; break; case DATA_THELURKERBELOWEVENT: m_auiEncounter[2] = data; break;
case DATA_KARATHRESSEVENT: Encounters[3] = data; break; case DATA_KARATHRESSEVENT: m_auiEncounter[3] = data; break;
case DATA_MOROGRIMTIDEWALKEREVENT: Encounters[4] = data; break; case DATA_MOROGRIMTIDEWALKEREVENT: m_auiEncounter[4] = data; break;
//Lady Vashj //Lady Vashj
case DATA_LADYVASHJEVENT: case DATA_LADYVASHJEVENT:
if (data == NOT_STARTED) if (data == NOT_STARTED)
@@ -199,7 +198,7 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance
ShieldGeneratorDeactivated[2] = false; ShieldGeneratorDeactivated[2] = false;
ShieldGeneratorDeactivated[3] = false; ShieldGeneratorDeactivated[3] = false;
} }
Encounters[5] = data; break; m_auiEncounter[5] = data; break;
case DATA_SHIELDGENERATOR1:ShieldGeneratorDeactivated[0] = (data) ? true : false; break; case DATA_SHIELDGENERATOR1:ShieldGeneratorDeactivated[0] = (data) ? true : false; break;
case DATA_SHIELDGENERATOR2:ShieldGeneratorDeactivated[1] = (data) ? true : false; break; case DATA_SHIELDGENERATOR2:ShieldGeneratorDeactivated[1] = (data) ? true : false; break;
case DATA_SHIELDGENERATOR3:ShieldGeneratorDeactivated[2] = (data) ? true : false; break; case DATA_SHIELDGENERATOR3:ShieldGeneratorDeactivated[2] = (data) ? true : false; break;
@@ -214,13 +213,13 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance
{ {
switch(type) switch(type)
{ {
case DATA_HYDROSSTHEUNSTABLEEVENT: return Encounters[0]; case DATA_HYDROSSTHEUNSTABLEEVENT: return m_auiEncounter[0];
case DATA_LEOTHERASTHEBLINDEVENT: return Encounters[1]; case DATA_LEOTHERASTHEBLINDEVENT: return m_auiEncounter[1];
case DATA_THELURKERBELOWEVENT: return Encounters[2]; case DATA_THELURKERBELOWEVENT: return m_auiEncounter[2];
case DATA_KARATHRESSEVENT: return Encounters[3]; case DATA_KARATHRESSEVENT: return m_auiEncounter[3];
case DATA_MOROGRIMTIDEWALKEREVENT: return Encounters[4]; case DATA_MOROGRIMTIDEWALKEREVENT: return m_auiEncounter[4];
//Lady Vashj //Lady Vashj
case DATA_LADYVASHJEVENT: return Encounters[5]; case DATA_LADYVASHJEVENT: return m_auiEncounter[5];
case DATA_SHIELDGENERATOR1: return ShieldGeneratorDeactivated[0]; case DATA_SHIELDGENERATOR1: return ShieldGeneratorDeactivated[0];
case DATA_SHIELDGENERATOR2: return ShieldGeneratorDeactivated[1]; case DATA_SHIELDGENERATOR2: return ShieldGeneratorDeactivated[1];
case DATA_SHIELDGENERATOR3: return ShieldGeneratorDeactivated[2]; case DATA_SHIELDGENERATOR3: return ShieldGeneratorDeactivated[2];
@@ -234,8 +233,8 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance
{ {
OUT_SAVE_INST_DATA; OUT_SAVE_INST_DATA;
std::ostringstream stream; std::ostringstream stream;
stream << Encounters[0] << " " << Encounters[1] << " " << Encounters[2] << " " stream << m_auiEncounter[0] << " " << m_auiEncounter[1] << " " << m_auiEncounter[2] << " "
<< Encounters[3] << " " << Encounters[4] << " " << Encounters[5]; << m_auiEncounter[3] << " " << m_auiEncounter[4] << " " << m_auiEncounter[5];
char* out = new char[stream.str().length() + 1]; char* out = new char[stream.str().length() + 1];
strcpy(out, stream.str().c_str()); strcpy(out, stream.str().c_str());
if (out) if (out)
@@ -255,11 +254,11 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance
} }
OUT_LOAD_INST_DATA(in); OUT_LOAD_INST_DATA(in);
std::istringstream stream(in); std::istringstream stream(in);
stream >> Encounters[0] >> Encounters[1] >> Encounters[2] >> Encounters[3] stream >> m_auiEncounter[0] >> m_auiEncounter[1] >> m_auiEncounter[2] >> m_auiEncounter[3]
>> Encounters[4] >> Encounters[5]; >> m_auiEncounter[4] >> m_auiEncounter[5];
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) // Do not load an encounter as "In Progress" - reset it instead. if (m_auiEncounter[i] == IN_PROGRESS) // Do not load an encounter as "In Progress" - reset it instead.
Encounters[i] = NOT_STARTED; m_auiEncounter[i] = NOT_STARTED;
OUT_LOAD_INST_DATA_COMPLETE; OUT_LOAD_INST_DATA_COMPLETE;
} }
}; };
@@ -24,7 +24,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_steam_vault.h" #include "def_steam_vault.h"
#define ENCOUNTERS 4 #define MAX_ENCOUNTER 4
#define MAIN_CHAMBERS_DOOR 183049 #define MAIN_CHAMBERS_DOOR 183049
#define ACCESS_PANEL_HYDRO 184125 #define ACCESS_PANEL_HYDRO 184125
@@ -56,7 +56,7 @@ struct TRINITY_DLL_DECL instance_steam_vault : public ScriptedInstance
{ {
instance_steam_vault(Map* pMap) : ScriptedInstance(pMap) {Initialize();}; instance_steam_vault(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
uint32 Encounter[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
uint64 ThespiaGUID; uint64 ThespiaGUID;
uint64 MekgineerGUID; uint64 MekgineerGUID;
@@ -68,21 +68,20 @@ struct TRINITY_DLL_DECL instance_steam_vault : public ScriptedInstance
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
ThespiaGUID = 0; ThespiaGUID = 0;
MekgineerGUID = 0; MekgineerGUID = 0;
KalithreshGUID = 0; KalithreshGUID = 0;
MainChambersDoor = 0; MainChambersDoor = 0;
AccessPanelHydro = 0; AccessPanelHydro = 0;
AccessPanelMek = 0; AccessPanelMek = 0;
for(uint8 i = 0; i < ENCOUNTERS; ++i)
Encounter[i] = NOT_STARTED;
} }
bool IsEncounterInProgress() const bool IsEncounterInProgress() const
{ {
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounter[i] == IN_PROGRESS) if (m_auiEncounter[i] == IN_PROGRESS)
return true; return true;
return false; return false;
@@ -122,7 +121,7 @@ struct TRINITY_DLL_DECL instance_steam_vault : public ScriptedInstance
debug_log("TSCR: Instance Steamvault: Access panel used."); debug_log("TSCR: Instance Steamvault: Access panel used.");
} }
Encounter[0] = data; m_auiEncounter[0] = data;
break; break;
case TYPE_MEKGINEER_STEAMRIGGER: case TYPE_MEKGINEER_STEAMRIGGER:
if (data == SPECIAL) if (data == SPECIAL)
@@ -134,13 +133,13 @@ struct TRINITY_DLL_DECL instance_steam_vault : public ScriptedInstance
debug_log("TSCR: Instance Steamvault: Access panel used."); debug_log("TSCR: Instance Steamvault: Access panel used.");
} }
Encounter[1] = data; m_auiEncounter[1] = data;
break; break;
case TYPE_WARLORD_KALITHRESH: case TYPE_WARLORD_KALITHRESH:
Encounter[2] = data; m_auiEncounter[2] = data;
break; break;
case TYPE_DISTILLER: case TYPE_DISTILLER:
Encounter[3] = data; m_auiEncounter[3] = data;
break; break;
} }
@@ -153,13 +152,13 @@ struct TRINITY_DLL_DECL instance_steam_vault : public ScriptedInstance
switch(type) switch(type)
{ {
case TYPE_HYDROMANCER_THESPIA: case TYPE_HYDROMANCER_THESPIA:
return Encounter[0]; return m_auiEncounter[0];
case TYPE_MEKGINEER_STEAMRIGGER: case TYPE_MEKGINEER_STEAMRIGGER:
return Encounter[1]; return m_auiEncounter[1];
case TYPE_WARLORD_KALITHRESH: case TYPE_WARLORD_KALITHRESH:
return Encounter[2]; return m_auiEncounter[2];
case TYPE_DISTILLER: case TYPE_DISTILLER:
return Encounter[3]; return m_auiEncounter[3];
} }
return 0; return 0;
} }
@@ -182,7 +181,7 @@ struct TRINITY_DLL_DECL instance_steam_vault : public ScriptedInstance
{ {
OUT_SAVE_INST_DATA; OUT_SAVE_INST_DATA;
std::ostringstream stream; std::ostringstream stream;
stream << Encounter[0] << " " << Encounter[1] << " " << Encounter[2] << " " << Encounter[3]; stream << m_auiEncounter[0] << " " << m_auiEncounter[1] << " " << m_auiEncounter[2] << " " << m_auiEncounter[3];
char* out = new char[stream.str().length() + 1]; char* out = new char[stream.str().length() + 1];
strcpy(out, stream.str().c_str()); strcpy(out, stream.str().c_str());
if (out) if (out)
@@ -202,10 +201,10 @@ struct TRINITY_DLL_DECL instance_steam_vault : public ScriptedInstance
} }
OUT_LOAD_INST_DATA(in); OUT_LOAD_INST_DATA(in);
std::istringstream stream(in); std::istringstream stream(in);
stream >> Encounter[0] >> Encounter[1] >> Encounter[2] >> Encounter[3]; stream >> m_auiEncounter[0] >> m_auiEncounter[1] >> m_auiEncounter[2] >> m_auiEncounter[3];
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounter[i] == IN_PROGRESS) if (m_auiEncounter[i] == IN_PROGRESS)
Encounter[i] = NOT_STARTED; m_auiEncounter[i] = NOT_STARTED;
OUT_LOAD_INST_DATA_COMPLETE; OUT_LOAD_INST_DATA_COMPLETE;
} }
}; };
@@ -24,7 +24,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_gruuls_lair.h" #include "def_gruuls_lair.h"
#define ENCOUNTERS 2 #define MAX_ENCOUNTER 2
/* Gruuls Lair encounters: /* Gruuls Lair encounters:
1 - High King Maulgar event 1 - High King Maulgar event
@@ -35,7 +35,7 @@ struct TRINITY_DLL_DECL instance_gruuls_lair : public ScriptedInstance
{ {
instance_gruuls_lair(Map* pMap) : ScriptedInstance(pMap) {Initialize();}; instance_gruuls_lair(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
uint32 Encounters[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
uint64 MaulgarEvent_Tank; uint64 MaulgarEvent_Tank;
uint64 KigglerTheCrazed; uint64 KigglerTheCrazed;
@@ -49,6 +49,8 @@ struct TRINITY_DLL_DECL instance_gruuls_lair : public ScriptedInstance
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
MaulgarEvent_Tank = 0; MaulgarEvent_Tank = 0;
KigglerTheCrazed = 0; KigglerTheCrazed = 0;
BlindeyeTheSeer = 0; BlindeyeTheSeer = 0;
@@ -58,15 +60,12 @@ struct TRINITY_DLL_DECL instance_gruuls_lair : public ScriptedInstance
MaulgarDoor = 0; MaulgarDoor = 0;
GruulDoor = 0; GruulDoor = 0;
for(uint8 i = 0; i < ENCOUNTERS; ++i)
Encounters[i] = NOT_STARTED;
} }
bool IsEncounterInProgress() const bool IsEncounterInProgress() const
{ {
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) return true; if (m_auiEncounter[i] == IN_PROGRESS) return true;
return false; return false;
} }
@@ -89,7 +88,7 @@ struct TRINITY_DLL_DECL instance_gruuls_lair : public ScriptedInstance
{ {
case 184468: case 184468:
MaulgarDoor = go->GetGUID(); MaulgarDoor = go->GetGUID();
if (Encounters[0] == DONE) HandleGameObject(NULL, true, go); if (m_auiEncounter[0] == DONE) HandleGameObject(NULL, true, go);
break; break;
case 184662: GruulDoor = go->GetGUID(); break; case 184662: GruulDoor = go->GetGUID(); break;
} }
@@ -123,11 +122,11 @@ struct TRINITY_DLL_DECL instance_gruuls_lair : public ScriptedInstance
{ {
case DATA_MAULGAREVENT: case DATA_MAULGAREVENT:
if (data == DONE) HandleGameObject(MaulgarDoor, true); if (data == DONE) HandleGameObject(MaulgarDoor, true);
Encounters[0] = data; break; m_auiEncounter[0] = data; break;
case DATA_GRUULEVENT: case DATA_GRUULEVENT:
if (data == IN_PROGRESS) HandleGameObject(GruulDoor, false); if (data == IN_PROGRESS) HandleGameObject(GruulDoor, false);
else HandleGameObject(GruulDoor, true); else HandleGameObject(GruulDoor, true);
Encounters[1] = data; break; m_auiEncounter[1] = data; break;
} }
if (data == DONE) if (data == DONE)
@@ -138,8 +137,8 @@ struct TRINITY_DLL_DECL instance_gruuls_lair : public ScriptedInstance
{ {
switch(type) switch(type)
{ {
case DATA_MAULGAREVENT: return Encounters[0]; case DATA_MAULGAREVENT: return m_auiEncounter[0];
case DATA_GRUULEVENT: return Encounters[1]; case DATA_GRUULEVENT: return m_auiEncounter[1];
} }
return 0; return 0;
} }
@@ -148,7 +147,7 @@ struct TRINITY_DLL_DECL instance_gruuls_lair : public ScriptedInstance
{ {
OUT_SAVE_INST_DATA; OUT_SAVE_INST_DATA;
std::ostringstream stream; std::ostringstream stream;
stream << Encounters[0] << " " << Encounters[1]; stream << m_auiEncounter[0] << " " << m_auiEncounter[1];
char* out = new char[stream.str().length() + 1]; char* out = new char[stream.str().length() + 1];
strcpy(out, stream.str().c_str()); strcpy(out, stream.str().c_str());
if (out) if (out)
@@ -170,10 +169,10 @@ struct TRINITY_DLL_DECL instance_gruuls_lair : public ScriptedInstance
OUT_LOAD_INST_DATA(in); OUT_LOAD_INST_DATA(in);
std::istringstream stream(in); std::istringstream stream(in);
stream >> Encounters[0] >> Encounters[1]; stream >> m_auiEncounter[0] >> m_auiEncounter[1];
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) // Do not load an encounter as "In Progress" - reset it instead. if (m_auiEncounter[i] == IN_PROGRESS) // Do not load an encounter as "In Progress" - reset it instead.
Encounters[i] = NOT_STARTED; m_auiEncounter[i] = NOT_STARTED;
OUT_LOAD_INST_DATA_COMPLETE; OUT_LOAD_INST_DATA_COMPLETE;
} }
}; };
@@ -26,7 +26,7 @@ EndScriptData */
#define ENTRY_SEWER1 181823 #define ENTRY_SEWER1 181823
#define ENTRY_SEWER2 181766 #define ENTRY_SEWER2 181766
#define ENCOUNTERS 3 #define MAX_ENCOUNTER 3
struct TRINITY_DLL_DECL instance_blood_furnace : public ScriptedInstance struct TRINITY_DLL_DECL instance_blood_furnace : public ScriptedInstance
{ {
@@ -52,11 +52,13 @@ struct TRINITY_DLL_DECL instance_blood_furnace : public ScriptedInstance
uint64 PrisonCell7GUID; uint64 PrisonCell7GUID;
uint64 PrisonCell8GUID; uint64 PrisonCell8GUID;
uint32 Encounter[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
std::string str_data; std::string str_data;
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
The_MakerGUID = 0; The_MakerGUID = 0;
BroggokGUID = 0; BroggokGUID = 0;
Kelidan_The_BreakerGUID = 0; Kelidan_The_BreakerGUID = 0;
@@ -76,9 +78,6 @@ struct TRINITY_DLL_DECL instance_blood_furnace : public ScriptedInstance
PrisonCell6GUID = 0; PrisonCell6GUID = 0;
PrisonCell7GUID = 0; PrisonCell7GUID = 0;
PrisonCell8GUID = 0; PrisonCell8GUID = 0;
for(uint8 i = 0; i < ENCOUNTERS; ++i)
Encounter[i] = NOT_STARTED;
} }
@@ -161,9 +160,9 @@ struct TRINITY_DLL_DECL instance_blood_furnace : public ScriptedInstance
{ {
switch(data) switch(data)
{ {
case TYPE_THE_MAKER_EVENT: Encounter[0] = data; break; case TYPE_THE_MAKER_EVENT: m_auiEncounter[0] = data; break;
case TYPE_BROGGOK_EVENT: Encounter[1] = data; break; case TYPE_BROGGOK_EVENT: m_auiEncounter[1] = data; break;
case TYPE_KELIDAN_THE_BREAKER_EVENT: Encounter[2] = data; break; case TYPE_KELIDAN_THE_BREAKER_EVENT: m_auiEncounter[2] = data; break;
} }
if (data == DONE) if (data == DONE)
@@ -171,7 +170,7 @@ struct TRINITY_DLL_DECL instance_blood_furnace : public ScriptedInstance
OUT_SAVE_INST_DATA; OUT_SAVE_INST_DATA;
std::ostringstream saveStream; std::ostringstream saveStream;
saveStream << Encounter[0] << " " << Encounter[1] << " " << Encounter[2]; saveStream << m_auiEncounter[0] << " " << m_auiEncounter[1] << " " << m_auiEncounter[2];
str_data = saveStream.str(); str_data = saveStream.str();
@@ -184,9 +183,9 @@ struct TRINITY_DLL_DECL instance_blood_furnace : public ScriptedInstance
{ {
switch(data) switch(data)
{ {
case TYPE_THE_MAKER_EVENT: return Encounter[0]; case TYPE_THE_MAKER_EVENT: return m_auiEncounter[0];
case TYPE_BROGGOK_EVENT: return Encounter[1]; case TYPE_BROGGOK_EVENT: return m_auiEncounter[1];
case TYPE_KELIDAN_THE_BREAKER_EVENT: return Encounter[2]; case TYPE_KELIDAN_THE_BREAKER_EVENT: return m_auiEncounter[2];
} }
return 0; return 0;
@@ -208,11 +207,11 @@ struct TRINITY_DLL_DECL instance_blood_furnace : public ScriptedInstance
OUT_LOAD_INST_DATA(in); OUT_LOAD_INST_DATA(in);
std::istringstream loadStream(in); std::istringstream loadStream(in);
loadStream >> Encounter[0] >> Encounter[1] >> Encounter[2]; loadStream >> m_auiEncounter[0] >> m_auiEncounter[1] >> m_auiEncounter[2];
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounter[i] == IN_PROGRESS || Encounter[i] == FAIL) if (m_auiEncounter[i] == IN_PROGRESS || m_auiEncounter[i] == FAIL)
Encounter[i] = NOT_STARTED; m_auiEncounter[i] = NOT_STARTED;
OUT_LOAD_INST_DATA_COMPLETE; OUT_LOAD_INST_DATA_COMPLETE;
} }
@@ -5,7 +5,7 @@
#ifndef DEF_RAMPARTS_H #ifndef DEF_RAMPARTS_H
#define DEF_RAMPARTS_H #define DEF_RAMPARTS_H
#define ENCOUNTERS 2 #define MAX_ENCOUNTER 2
enum enum
{ {
@@ -28,18 +28,16 @@ struct TRINITY_DLL_DECL instance_ramparts : public ScriptedInstance
{ {
instance_ramparts(Map* pMap) : ScriptedInstance(pMap) {Initialize();} instance_ramparts(Map* pMap) : ScriptedInstance(pMap) {Initialize();}
uint32 m_uiEncounter[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
uint64 m_uiChestNGUID; uint64 m_uiChestNGUID;
uint64 m_uiChestHGUID; uint64 m_uiChestHGUID;
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
m_uiChestNGUID = 0; m_uiChestNGUID = 0;
m_uiChestHGUID = 0; m_uiChestHGUID = 0;
for(uint8 i = 0; i < ENCOUNTERS; ++i)
m_uiEncounter[i] = NOT_STARTED;
} }
void OnGameObjectCreate(GameObject *go, bool add) void OnGameObjectCreate(GameObject *go, bool add)
@@ -58,14 +56,14 @@ struct TRINITY_DLL_DECL instance_ramparts : public ScriptedInstance
switch(uiType) switch(uiType)
{ {
case TYPE_VAZRUDEN: case TYPE_VAZRUDEN:
if (uiData == DONE && m_uiEncounter[1] == DONE) if (uiData == DONE && m_auiEncounter[1] == DONE)
DoRespawnGameObject(instance->IsHeroic() ? m_uiChestHGUID : m_uiChestNGUID, HOUR*IN_MILISECONDS); DoRespawnGameObject(instance->IsHeroic() ? m_uiChestHGUID : m_uiChestNGUID, HOUR*IN_MILISECONDS);
m_uiEncounter[0] = uiData; m_auiEncounter[0] = uiData;
break; break;
case TYPE_NAZAN: case TYPE_NAZAN:
if (uiData == DONE && m_uiEncounter[0] == DONE) if (uiData == DONE && m_auiEncounter[0] == DONE)
DoRespawnGameObject(instance->IsHeroic() ? m_uiChestHGUID : m_uiChestNGUID, HOUR*IN_MILISECONDS); DoRespawnGameObject(instance->IsHeroic() ? m_uiChestHGUID : m_uiChestNGUID, HOUR*IN_MILISECONDS);
m_uiEncounter[1] = uiData; m_auiEncounter[1] = uiData;
break; break;
} }
} }
@@ -31,7 +31,7 @@ EndScriptData */
#define CHAMBER_CENTER_Y 1.8 #define CHAMBER_CENTER_Y 1.8
#define CHAMBER_CENTER_Z -0.4 #define CHAMBER_CENTER_Z -0.4
#define ENCOUNTERS 2 #define MAX_ENCOUNTER 2
struct TRINITY_DLL_DECL instance_magtheridons_lair : public ScriptedInstance struct TRINITY_DLL_DECL instance_magtheridons_lair : public ScriptedInstance
{ {
@@ -40,7 +40,7 @@ struct TRINITY_DLL_DECL instance_magtheridons_lair : public ScriptedInstance
Initialize(); Initialize();
} }
uint32 Encounters[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
uint64 MagtheridonGUID; uint64 MagtheridonGUID;
std::set<uint64> ChannelerGUID; std::set<uint64> ChannelerGUID;
@@ -52,8 +52,7 @@ struct TRINITY_DLL_DECL instance_magtheridons_lair : public ScriptedInstance
void Initialize() void Initialize()
{ {
for(uint8 i = 0; i < ENCOUNTERS; ++i) memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
Encounters[i] = NOT_STARTED;
MagtheridonGUID = 0; MagtheridonGUID = 0;
ChannelerGUID.clear(); ChannelerGUID.clear();
@@ -66,8 +65,8 @@ struct TRINITY_DLL_DECL instance_magtheridons_lair : public ScriptedInstance
bool IsEncounterInProgress() const bool IsEncounterInProgress() const
{ {
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) return true; if (m_auiEncounter[i] == IN_PROGRESS) return true;
return false; return false;
} }
@@ -121,7 +120,7 @@ struct TRINITY_DLL_DECL instance_magtheridons_lair : public ScriptedInstance
switch(type) switch(type)
{ {
case DATA_MAGTHERIDON_EVENT: case DATA_MAGTHERIDON_EVENT:
Encounters[0] = data; m_auiEncounter[0] = data;
if (data == NOT_STARTED) if (data == NOT_STARTED)
RespawnTimer = 10000; RespawnTimer = 10000;
if (data != IN_PROGRESS) if (data != IN_PROGRESS)
@@ -131,9 +130,9 @@ struct TRINITY_DLL_DECL instance_magtheridons_lair : public ScriptedInstance
switch(data) switch(data)
{ {
case NOT_STARTED: // Reset all channelers once one is reset. case NOT_STARTED: // Reset all channelers once one is reset.
if (Encounters[1] != NOT_STARTED) if (m_auiEncounter[1] != NOT_STARTED)
{ {
Encounters[1] = NOT_STARTED; m_auiEncounter[1] = NOT_STARTED;
for(std::set<uint64>::iterator i = ChannelerGUID.begin(); i != ChannelerGUID.end(); ++i) for(std::set<uint64>::iterator i = ChannelerGUID.begin(); i != ChannelerGUID.end(); ++i)
{ {
if (Creature *Channeler = instance->GetCreature(*i)) if (Creature *Channeler = instance->GetCreature(*i))
@@ -148,9 +147,9 @@ struct TRINITY_DLL_DECL instance_magtheridons_lair : public ScriptedInstance
HandleGameObject(DoorGUID, true); HandleGameObject(DoorGUID, true);
}break; }break;
case IN_PROGRESS: // Event start. case IN_PROGRESS: // Event start.
if (Encounters[1] != IN_PROGRESS) if (m_auiEncounter[1] != IN_PROGRESS)
{ {
Encounters[1] = IN_PROGRESS; m_auiEncounter[1] = IN_PROGRESS;
// Let all five channelers aggro. // Let all five channelers aggro.
for(std::set<uint64>::iterator i = ChannelerGUID.begin(); i != ChannelerGUID.end(); ++i) for(std::set<uint64>::iterator i = ChannelerGUID.begin(); i != ChannelerGUID.end(); ++i)
{ {
@@ -179,7 +178,7 @@ struct TRINITY_DLL_DECL instance_magtheridons_lair : public ScriptedInstance
} }
}break; }break;
} }
Encounters[1] = data; m_auiEncounter[1] = data;
break; break;
case DATA_COLLAPSE: case DATA_COLLAPSE:
// true - collapse / false - reset // true - collapse / false - reset
@@ -194,7 +193,7 @@ struct TRINITY_DLL_DECL instance_magtheridons_lair : public ScriptedInstance
uint32 GetData(uint32 type) uint32 GetData(uint32 type)
{ {
if (type == DATA_MAGTHERIDON_EVENT) if (type == DATA_MAGTHERIDON_EVENT)
return Encounters[0]; return m_auiEncounter[0];
return 0; return 0;
} }
@@ -24,7 +24,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_shattered_halls.h" #include "def_shattered_halls.h"
#define ENCOUNTERS 2 #define MAX_ENCOUNTER 2
#define DOOR_NETHEKURSE 1 #define DOOR_NETHEKURSE 1
@@ -32,17 +32,16 @@ struct TRINITY_DLL_DECL instance_shattered_halls : public ScriptedInstance
{ {
instance_shattered_halls(Map* pMap) : ScriptedInstance(pMap) {Initialize();}; instance_shattered_halls(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
uint32 Encounter[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
uint64 nethekurseGUID; uint64 nethekurseGUID;
uint64 nethekurseDoorGUID; uint64 nethekurseDoorGUID;
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
nethekurseGUID = 0; nethekurseGUID = 0;
nethekurseDoorGUID = 0; nethekurseDoorGUID = 0;
for(uint8 i = 0; i < ENCOUNTERS; ++i)
Encounter[i] = NOT_STARTED;
} }
void OnGameObjectCreate(GameObject *go, bool add) void OnGameObjectCreate(GameObject *go, bool add)
@@ -66,10 +65,10 @@ struct TRINITY_DLL_DECL instance_shattered_halls : public ScriptedInstance
switch(type) switch(type)
{ {
case TYPE_NETHEKURSE: case TYPE_NETHEKURSE:
Encounter[0] = data; m_auiEncounter[0] = data;
break; break;
case TYPE_OMROGG: case TYPE_OMROGG:
Encounter[1] = data; m_auiEncounter[1] = data;
break; break;
} }
} }
@@ -79,9 +78,9 @@ struct TRINITY_DLL_DECL instance_shattered_halls : public ScriptedInstance
switch(type) switch(type)
{ {
case TYPE_NETHEKURSE: case TYPE_NETHEKURSE:
return Encounter[0]; return m_auiEncounter[0];
case TYPE_OMROGG: case TYPE_OMROGG:
return Encounter[1]; return m_auiEncounter[1];
} }
return 0; return 0;
} }
@@ -211,7 +211,7 @@ struct TRINITY_DLL_DECL boss_aranAI : public ScriptedAI
FWTargPosX[i] = (*itr)->GetPositionX(); FWTargPosX[i] = (*itr)->GetPositionX();
FWTargPosY[i] = (*itr)->GetPositionY(); FWTargPosY[i] = (*itr)->GetPositionY();
m_creature->CastSpell((*itr), SPELL_FLAME_WREATH, true); m_creature->CastSpell((*itr), SPELL_FLAME_WREATH, true);
i++; ++i;
} }
} }
} }
@@ -24,7 +24,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_karazhan.h" #include "def_karazhan.h"
#define ENCOUNTERS 12 #define MAX_ENCOUNTER 12
/* /*
0 - Attumen + Midnight (optional) 0 - Attumen + Midnight (optional)
@@ -45,7 +45,7 @@ struct TRINITY_DLL_DECL instance_karazhan : public ScriptedInstance
{ {
instance_karazhan(Map* pMap) : ScriptedInstance(pMap) {Initialize();} instance_karazhan(Map* pMap) : ScriptedInstance(pMap) {Initialize();}
uint32 m_auiEncounter[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
std::string strSaveData; std::string strSaveData;
uint32 m_uiOperaEvent; uint32 m_uiOperaEvent;
@@ -69,8 +69,7 @@ struct TRINITY_DLL_DECL instance_karazhan : public ScriptedInstance
void Initialize() void Initialize()
{ {
for (uint8 i = 0; i < ENCOUNTERS; ++i) memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
m_auiEncounter[i] = NOT_STARTED;
// 1 - OZ, 2 - HOOD, 3 - RAJ, this never gets altered. // 1 - OZ, 2 - HOOD, 3 - RAJ, this never gets altered.
m_uiOperaEvent = urand(1,3); m_uiOperaEvent = urand(1,3);
@@ -98,7 +97,7 @@ struct TRINITY_DLL_DECL instance_karazhan : public ScriptedInstance
bool IsEncounterInProgress() const bool IsEncounterInProgress() const
{ {
for (uint8 i = 0; i < ENCOUNTERS; ++i) for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (m_auiEncounter[i] == IN_PROGRESS) if (m_auiEncounter[i] == IN_PROGRESS)
return true; return true;
@@ -287,7 +286,7 @@ struct TRINITY_DLL_DECL instance_karazhan : public ScriptedInstance
loadStream >> m_auiEncounter[0] >> m_auiEncounter[1] >> m_auiEncounter[2] >> m_auiEncounter[3] loadStream >> m_auiEncounter[0] >> m_auiEncounter[1] >> m_auiEncounter[2] >> m_auiEncounter[3]
>> m_auiEncounter[4] >> m_auiEncounter[5] >> m_auiEncounter[6] >> m_auiEncounter[7] >> m_auiEncounter[4] >> m_auiEncounter[5] >> m_auiEncounter[6] >> m_auiEncounter[7]
>> m_auiEncounter[8] >> m_auiEncounter[9] >> m_auiEncounter[10] >> m_auiEncounter[11]; >> m_auiEncounter[8] >> m_auiEncounter[9] >> m_auiEncounter[10] >> m_auiEncounter[11];
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (m_auiEncounter[i] == IN_PROGRESS) // Do not load an encounter as "In Progress" - reset it instead. if (m_auiEncounter[i] == IN_PROGRESS) // Do not load an encounter as "In Progress" - reset it instead.
m_auiEncounter[i] = NOT_STARTED; m_auiEncounter[i] = NOT_STARTED;
OUT_LOAD_INST_DATA_COMPLETE; OUT_LOAD_INST_DATA_COMPLETE;
@@ -24,7 +24,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_magisters_terrace.h" #include "def_magisters_terrace.h"
#define NUMBER_OF_ENCOUNTERS 4 #define MAX_ENCOUNTER 4
/* /*
0 - Selin Fireheart 0 - Selin Fireheart
@@ -37,7 +37,7 @@ struct TRINITY_DLL_DECL instance_magisters_terrace : public ScriptedInstance
{ {
instance_magisters_terrace(Map* pMap) : ScriptedInstance(pMap) {Initialize();} instance_magisters_terrace(Map* pMap) : ScriptedInstance(pMap) {Initialize();}
uint32 Encounters[NUMBER_OF_ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
uint32 DelrissaDeathCount; uint32 DelrissaDeathCount;
std::list<uint64> FelCrystals; std::list<uint64> FelCrystals;
@@ -56,8 +56,7 @@ struct TRINITY_DLL_DECL instance_magisters_terrace : public ScriptedInstance
void Initialize() void Initialize()
{ {
for(uint8 i = 0; i < NUMBER_OF_ENCOUNTERS; ++i) memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
Encounters[i] = NOT_STARTED;
FelCrystals.clear(); FelCrystals.clear();
@@ -78,8 +77,8 @@ struct TRINITY_DLL_DECL instance_magisters_terrace : public ScriptedInstance
bool IsEncounterInProgress() const bool IsEncounterInProgress() const
{ {
for(uint8 i = 0; i < NUMBER_OF_ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) if (m_auiEncounter[i] == IN_PROGRESS)
return true; return true;
return false; return false;
} }
@@ -88,10 +87,10 @@ struct TRINITY_DLL_DECL instance_magisters_terrace : public ScriptedInstance
{ {
switch(identifier) switch(identifier)
{ {
case DATA_SELIN_EVENT: return Encounters[0]; case DATA_SELIN_EVENT: return m_auiEncounter[0];
case DATA_VEXALLUS_EVENT: return Encounters[1]; case DATA_VEXALLUS_EVENT: return m_auiEncounter[1];
case DATA_DELRISSA_EVENT: return Encounters[2]; case DATA_DELRISSA_EVENT: return m_auiEncounter[2];
case DATA_KAELTHAS_EVENT: return Encounters[3]; case DATA_KAELTHAS_EVENT: return m_auiEncounter[3];
case DATA_DELRISSA_DEATH_COUNT: return DelrissaDeathCount; case DATA_DELRISSA_DEATH_COUNT: return DelrissaDeathCount;
case DATA_FEL_CRYSTAL_SIZE: return FelCrystals.size(); case DATA_FEL_CRYSTAL_SIZE: return FelCrystals.size();
} }
@@ -102,20 +101,20 @@ struct TRINITY_DLL_DECL instance_magisters_terrace : public ScriptedInstance
{ {
switch(identifier) switch(identifier)
{ {
case DATA_SELIN_EVENT: Encounters[0] = data; break; case DATA_SELIN_EVENT: m_auiEncounter[0] = data; break;
case DATA_VEXALLUS_EVENT: case DATA_VEXALLUS_EVENT:
if (data == DONE) if (data == DONE)
DoUseDoorOrButton(VexallusDoorGUID); DoUseDoorOrButton(VexallusDoorGUID);
Encounters[1] = data; m_auiEncounter[1] = data;
break; break;
case DATA_DELRISSA_EVENT: case DATA_DELRISSA_EVENT:
if (data == DONE) if (data == DONE)
DoUseDoorOrButton(DelrissaDoorGUID); DoUseDoorOrButton(DelrissaDoorGUID);
if (data == IN_PROGRESS) if (data == IN_PROGRESS)
DelrissaDeathCount = 0; DelrissaDeathCount = 0;
Encounters[2] = data; m_auiEncounter[2] = data;
break; break;
case DATA_KAELTHAS_EVENT: Encounters[3] = data; break; case DATA_KAELTHAS_EVENT: m_auiEncounter[3] = data; break;
case DATA_DELRISSA_DEATH_COUNT: case DATA_DELRISSA_DEATH_COUNT:
if (data == SPECIAL) if (data == SPECIAL)
@@ -24,7 +24,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_molten_core.h" #include "def_molten_core.h"
#define ENCOUNTERS 9 #define MAX_ENCOUNTER 9
#define ID_LUCIFRON 12118 #define ID_LUCIFRON 12118
#define ID_MAGMADAR 11982 #define ID_MAGMADAR 11982
@@ -48,10 +48,12 @@ struct TRINITY_DLL_DECL instance_molten_core : public ScriptedInstance
//If all Bosses are dead. //If all Bosses are dead.
bool IsBossDied[9]; bool IsBossDied[9];
uint32 Encounter[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
Lucifron = 0; Lucifron = 0;
Magmadar = 0; Magmadar = 0;
Gehennas = 0; Gehennas = 0;
@@ -84,12 +86,9 @@ struct TRINITY_DLL_DECL instance_molten_core : public ScriptedInstance
IsBossDied[7] = false; IsBossDied[7] = false;
IsBossDied[8] = false; IsBossDied[8] = false;
for(uint8 i = 0; i < ENCOUNTERS; ++i)
Encounter[i] = NOT_STARTED;
} }
bool IsEncounterInProgress() const bool Ism_auiEncounterInProgress() const
{ {
return false; return false;
}; };
@@ -30,7 +30,7 @@ struct TRINITY_DLL_DECL instance_nexus : public ScriptedInstance
{ {
instance_nexus(Map* pMap) : ScriptedInstance(pMap) { Initialize(); } instance_nexus(Map* pMap) : ScriptedInstance(pMap) { Initialize(); }
uint32 Encounters[NUMBER_OF_ENCOUNTERS]; uint32 m_auiEncounter[NUMBER_OF_ENCOUNTERS];
uint64 Anomalus; uint64 Anomalus;
uint64 Keristrasza; uint64 Keristrasza;
@@ -43,9 +43,9 @@ struct TRINITY_DLL_DECL instance_nexus : public ScriptedInstance
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
Anomalus = 0; Anomalus = 0;
for(uint8 i = 0; i < NUMBER_OF_ENCOUNTERS; ++i)
Encounters[i] = NOT_STARTED;
} }
void OnCreatureCreate(Creature* pCreature, bool add) void OnCreatureCreate(Creature* pCreature, bool add)
@@ -114,21 +114,21 @@ struct TRINITY_DLL_DECL instance_nexus : public ScriptedInstance
case 188527: case 188527:
{ {
AnomalusContainmentSphere = go->GetGUID(); AnomalusContainmentSphere = go->GetGUID();
if (Encounters[1] == DONE) if (m_auiEncounter[1] == DONE)
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
break; break;
} }
case 188528: case 188528:
{ {
OrmoroksContainmentSphere = go->GetGUID(); OrmoroksContainmentSphere = go->GetGUID();
if (Encounters[2] == DONE) if (m_auiEncounter[2] == DONE)
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
break; break;
} }
case 188526: case 188526:
{ {
TelestrasContainmentSphere = go->GetGUID(); TelestrasContainmentSphere = go->GetGUID();
if (Encounters[0] == DONE) if (m_auiEncounter[0] == DONE)
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
break; break;
} }
@@ -139,10 +139,10 @@ struct TRINITY_DLL_DECL instance_nexus : public ScriptedInstance
{ {
switch(identifier) switch(identifier)
{ {
case DATA_MAGUS_TELESTRA_EVENT: return Encounters[0]; case DATA_MAGUS_TELESTRA_EVENT: return m_auiEncounter[0];
case DATA_ANOMALUS_EVENT: return Encounters[1]; case DATA_ANOMALUS_EVENT: return m_auiEncounter[1];
case DATA_ORMOROK_EVENT: return Encounters[2]; case DATA_ORMOROK_EVENT: return m_auiEncounter[2];
case DATA_KERISTRASZA_EVENT: return Encounters[3]; case DATA_KERISTRASZA_EVENT: return m_auiEncounter[3];
} }
return 0; return 0;
} }
@@ -159,7 +159,7 @@ struct TRINITY_DLL_DECL instance_nexus : public ScriptedInstance
if (Sphere) if (Sphere)
Sphere->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); Sphere->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
} }
Encounters[0] = data; m_auiEncounter[0] = data;
break; break;
} }
case DATA_ANOMALUS_EVENT: case DATA_ANOMALUS_EVENT:
@@ -170,7 +170,7 @@ struct TRINITY_DLL_DECL instance_nexus : public ScriptedInstance
if (Sphere) if (Sphere)
Sphere->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); Sphere->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
} }
Encounters[1] = data; m_auiEncounter[1] = data;
break; break;
} }
case DATA_ORMOROK_EVENT: case DATA_ORMOROK_EVENT:
@@ -181,10 +181,10 @@ struct TRINITY_DLL_DECL instance_nexus : public ScriptedInstance
if (Sphere) if (Sphere)
Sphere->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); Sphere->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
} }
Encounters[2] = data; m_auiEncounter[2] = data;
break; break;
} }
case DATA_KERISTRASZA_EVENT: Encounters[3] = data; break; case DATA_KERISTRASZA_EVENT: m_auiEncounter[3] = data; break;
} }
if (data == DONE) if (data == DONE)
@@ -192,8 +192,8 @@ struct TRINITY_DLL_DECL instance_nexus : public ScriptedInstance
OUT_SAVE_INST_DATA; OUT_SAVE_INST_DATA;
std::ostringstream saveStream; std::ostringstream saveStream;
saveStream << Encounters[0] << " " << Encounters[1] << " " << Encounters[2] << " " saveStream << m_auiEncounter[0] << " " << m_auiEncounter[1] << " " << m_auiEncounter[2] << " "
<< Encounters[3]; << m_auiEncounter[3];
strInstData = saveStream.str(); strInstData = saveStream.str();
@@ -231,12 +231,12 @@ struct TRINITY_DLL_DECL instance_nexus : public ScriptedInstance
OUT_LOAD_INST_DATA(chrIn); OUT_LOAD_INST_DATA(chrIn);
std::istringstream loadStream(chrIn); std::istringstream loadStream(chrIn);
loadStream >> Encounters[0] >> Encounters[1] >> Encounters[2] >> Encounters[3]; loadStream >> m_auiEncounter[0] >> m_auiEncounter[1] >> m_auiEncounter[2] >> m_auiEncounter[3];
for(uint8 i = 1; i < NUMBER_OF_ENCOUNTERS; ++i) for(uint8 i = 1; i < NUMBER_OF_ENCOUNTERS; ++i)
{ {
if (Encounters[i] == IN_PROGRESS) if (m_auiEncounter[i] == IN_PROGRESS)
Encounters[i] = NOT_STARTED; m_auiEncounter[i] = NOT_STARTED;
} }
OUT_LOAD_INST_DATA_COMPLETE; OUT_LOAD_INST_DATA_COMPLETE;
@@ -1,7 +1,7 @@
#include "precompiled.h" #include "precompiled.h"
#include "def_obsidian_sanctum.h" #include "def_obsidian_sanctum.h"
#define ENCOUNTERS 1 #define MAX_ENCOUNTER 1
/* Obsidian Sanctum encounters: /* Obsidian Sanctum encounters:
0 - Sartharion 0 - Sartharion
@@ -11,7 +11,7 @@ struct TRINITY_DLL_DECL instance_obsidian_sanctum : public ScriptedInstance
{ {
instance_obsidian_sanctum(Map* pMap) : ScriptedInstance(pMap) {Initialize();}; instance_obsidian_sanctum(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
uint32 m_uiEncounter[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
uint64 m_uiSartharionGUID; uint64 m_uiSartharionGUID;
uint64 m_uiTenebronGUID; uint64 m_uiTenebronGUID;
uint64 m_uiShadronGUID; uint64 m_uiShadronGUID;
@@ -19,13 +19,12 @@ struct TRINITY_DLL_DECL instance_obsidian_sanctum : public ScriptedInstance
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
m_uiSartharionGUID = 0; m_uiSartharionGUID = 0;
m_uiTenebronGUID = 0; m_uiTenebronGUID = 0;
m_uiShadronGUID = 0; m_uiShadronGUID = 0;
m_uiVesperonGUID = 0; m_uiVesperonGUID = 0;
for(uint8 i = 0; i < ENCOUNTERS; ++i)
m_uiEncounter[i] = NOT_STARTED;
} }
void OnCreatureCreate(Creature* pCreature, bool add) void OnCreatureCreate(Creature* pCreature, bool add)
@@ -55,13 +54,13 @@ struct TRINITY_DLL_DECL instance_obsidian_sanctum : public ScriptedInstance
void SetData(uint32 uiType, uint32 uiData) void SetData(uint32 uiType, uint32 uiData)
{ {
if (uiType == TYPE_SARTHARION_EVENT) if (uiType == TYPE_SARTHARION_EVENT)
m_uiEncounter[0] = uiData; m_auiEncounter[0] = uiData;
} }
uint32 GetData(uint32 uiType) uint32 GetData(uint32 uiType)
{ {
if (uiType == TYPE_SARTHARION_EVENT) if (uiType == TYPE_SARTHARION_EVENT)
return m_uiEncounter[0]; return m_auiEncounter[0];
return 0; return 0;
} }
@@ -30,7 +30,7 @@ EndScriptData */
#define ENTRY_HEAD 23775 #define ENTRY_HEAD 23775
#define ENTRY_PUMPKIN 23694 #define ENTRY_PUMPKIN 23694
#define ENCOUNTERS 1 #define MAX_ENCOUNTER 1
struct TRINITY_DLL_DECL instance_scarlet_monastery : public ScriptedInstance struct TRINITY_DLL_DECL instance_scarlet_monastery : public ScriptedInstance
{ {
@@ -46,10 +46,12 @@ struct TRINITY_DLL_DECL instance_scarlet_monastery : public ScriptedInstance
uint64 VorrelGUID; uint64 VorrelGUID;
uint64 DoorHighInquisitorGUID; uint64 DoorHighInquisitorGUID;
uint32 Encounter[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
PumpkinShrineGUID = 0; PumpkinShrineGUID = 0;
HorsemanGUID = 0; HorsemanGUID = 0;
HeadGUID = 0; HeadGUID = 0;
@@ -59,9 +61,6 @@ struct TRINITY_DLL_DECL instance_scarlet_monastery : public ScriptedInstance
WhitemaneGUID = 0; WhitemaneGUID = 0;
VorrelGUID = 0; VorrelGUID = 0;
DoorHighInquisitorGUID = 0; DoorHighInquisitorGUID = 0;
for(uint8 i = 0; i < ENCOUNTERS; ++i)
Encounter[i] = NOT_STARTED;
} }
void OnGameObjectCreate(GameObject *go, bool add) void OnGameObjectCreate(GameObject *go, bool add)
@@ -96,7 +95,7 @@ struct TRINITY_DLL_DECL instance_scarlet_monastery : public ScriptedInstance
if (data == FAIL) if (data == FAIL)
DoUseDoorOrButton(DoorHighInquisitorGUID); DoUseDoorOrButton(DoorHighInquisitorGUID);
Encounter[0] = data; m_auiEncounter[0] = data;
break; break;
case GAMEOBJECT_PUMPKIN_SHRINE: case GAMEOBJECT_PUMPKIN_SHRINE:
HandleGameObject(PumpkinShrineGUID, false); HandleGameObject(PumpkinShrineGUID, false);
@@ -135,7 +134,7 @@ struct TRINITY_DLL_DECL instance_scarlet_monastery : public ScriptedInstance
uint32 GetData(uint32 type) uint32 GetData(uint32 type)
{ {
if (type == TYPE_MOGRAINE_AND_WHITE_EVENT) if (type == TYPE_MOGRAINE_AND_WHITE_EVENT)
return Encounter[0]; return m_auiEncounter[0];
return 0; return 0;
} }
@@ -33,7 +33,7 @@ EndScriptData */
#define GO_GATE_BAROV 177373 #define GO_GATE_BAROV 177373
#define GO_GATE_ILLUCIA 177371 #define GO_GATE_ILLUCIA 177371
#define ENCOUNTERS 2 #define MAX_ENCOUNTER 2
struct TRINITY_DLL_DECL instance_scholomance : public ScriptedInstance struct TRINITY_DLL_DECL instance_scholomance : public ScriptedInstance
{ {
@@ -41,7 +41,7 @@ struct TRINITY_DLL_DECL instance_scholomance : public ScriptedInstance
//Lord Alexei Barov, Doctor Theolen Krastinov, The Ravenian, Lorekeeper Polkelt, Instructor Malicia and the Lady Illucia Barov. //Lord Alexei Barov, Doctor Theolen Krastinov, The Ravenian, Lorekeeper Polkelt, Instructor Malicia and the Lady Illucia Barov.
bool IsBossDied[6]; bool IsBossDied[6];
uint32 Encounter[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
uint64 GateKirtonosGUID; uint64 GateKirtonosGUID;
uint64 GateGandlingGUID; uint64 GateGandlingGUID;
@@ -54,6 +54,8 @@ struct TRINITY_DLL_DECL instance_scholomance : public ScriptedInstance
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
GateKirtonosGUID = 0; GateKirtonosGUID = 0;
GateGandlingGUID = 0; GateGandlingGUID = 0;
GateMiliciaGUID = 0; GateMiliciaGUID = 0;
@@ -65,9 +67,6 @@ struct TRINITY_DLL_DECL instance_scholomance : public ScriptedInstance
for(uint8 i = 0; i < 6; ++i) for(uint8 i = 0; i < 6; ++i)
IsBossDied[i] = false; IsBossDied[i] = false;
for(uint8 i = 0; i < ENCOUNTERS; ++i)
Encounter[i] = NOT_STARTED;
} }
void OnGameObjectCreate(GameObject *go, bool add) void OnGameObjectCreate(GameObject *go, bool add)
@@ -108,10 +107,10 @@ struct TRINITY_DLL_DECL instance_scholomance : public ScriptedInstance
IsBossDied[5] = true; IsBossDied[5] = true;
break; break;
case TYPE_GANDLING: case TYPE_GANDLING:
Encounter[0] = data; m_auiEncounter[0] = data;
break; break;
case TYPE_KIRTONOS: case TYPE_KIRTONOS:
Encounter[1] = data; m_auiEncounter[1] = data;
break; break;
} }
} }
@@ -122,7 +121,7 @@ struct TRINITY_DLL_DECL instance_scholomance : public ScriptedInstance
{ {
if (IsBossDied[0] && IsBossDied[1] && IsBossDied[2] && IsBossDied[3] && IsBossDied[4] && IsBossDied[5]) if (IsBossDied[0] && IsBossDied[1] && IsBossDied[2] && IsBossDied[3] && IsBossDied[4] && IsBossDied[5])
{ {
Encounter[0] = IN_PROGRESS; m_auiEncounter[0] = IN_PROGRESS;
return IN_PROGRESS; return IN_PROGRESS;
} }
} }
@@ -24,7 +24,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_shadowfang_keep.h" #include "def_shadowfang_keep.h"
#define ENCOUNTERS 4 #define MAX_ENCOUNTER 4
enum enum
{ {
@@ -43,7 +43,7 @@ struct TRINITY_DLL_DECL instance_shadowfang_keep : public ScriptedInstance
{ {
instance_shadowfang_keep(Map* pMap) : ScriptedInstance(pMap) {Initialize();}; instance_shadowfang_keep(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
uint32 Encounter[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
std::string str_data; std::string str_data;
uint64 uiAshGUID; uint64 uiAshGUID;
@@ -55,15 +55,14 @@ struct TRINITY_DLL_DECL instance_shadowfang_keep : public ScriptedInstance
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
uiAshGUID = 0; uiAshGUID = 0;
uiAdaGUID = 0; uiAdaGUID = 0;
DoorCourtyardGUID = 0; DoorCourtyardGUID = 0;
DoorSorcererGUID = 0; DoorSorcererGUID = 0;
DoorArugalGUID = 0; DoorArugalGUID = 0;
for(uint8 i=0; i < ENCOUNTERS; ++i)
Encounter[i] = NOT_STARTED;
} }
void OnCreatureCreate(Creature* pCreature, bool add) void OnCreatureCreate(Creature* pCreature, bool add)
@@ -81,17 +80,17 @@ struct TRINITY_DLL_DECL instance_shadowfang_keep : public ScriptedInstance
{ {
case GO_COURTYARD_DOOR: case GO_COURTYARD_DOOR:
DoorCourtyardGUID = go->GetGUID(); DoorCourtyardGUID = go->GetGUID();
if (Encounter[0] == DONE) if (m_auiEncounter[0] == DONE)
DoUseDoorOrButton(DoorCourtyardGUID); DoUseDoorOrButton(DoorCourtyardGUID);
break; break;
case GO_SORCERER_DOOR: case GO_SORCERER_DOOR:
DoorSorcererGUID = go->GetGUID(); DoorSorcererGUID = go->GetGUID();
if (Encounter[2] == DONE) if (m_auiEncounter[2] == DONE)
DoUseDoorOrButton(DoorSorcererGUID); DoUseDoorOrButton(DoorSorcererGUID);
break; break;
case GO_ARUGAL_DOOR: case GO_ARUGAL_DOOR:
DoorArugalGUID = go->GetGUID(); DoorArugalGUID = go->GetGUID();
if (Encounter[3] == DONE) if (m_auiEncounter[3] == DONE)
DoUseDoorOrButton(DoorArugalGUID); DoUseDoorOrButton(DoorArugalGUID);
break; break;
} }
@@ -116,22 +115,22 @@ struct TRINITY_DLL_DECL instance_shadowfang_keep : public ScriptedInstance
case TYPE_FREE_NPC: case TYPE_FREE_NPC:
if (data == DONE) if (data == DONE)
DoUseDoorOrButton(DoorCourtyardGUID); DoUseDoorOrButton(DoorCourtyardGUID);
Encounter[0] = data; m_auiEncounter[0] = data;
break; break;
case TYPE_RETHILGORE: case TYPE_RETHILGORE:
if (data == DONE) if (data == DONE)
DoSpeech(); DoSpeech();
Encounter[1] = data; m_auiEncounter[1] = data;
break; break;
case TYPE_FENRUS: case TYPE_FENRUS:
if (data == DONE) if (data == DONE)
DoUseDoorOrButton(DoorSorcererGUID); DoUseDoorOrButton(DoorSorcererGUID);
Encounter[2] = data; m_auiEncounter[2] = data;
break; break;
case TYPE_NANDOS: case TYPE_NANDOS:
if (data == DONE) if (data == DONE)
DoUseDoorOrButton(DoorArugalGUID); DoUseDoorOrButton(DoorArugalGUID);
Encounter[3] = data; m_auiEncounter[3] = data;
break; break;
} }
@@ -140,7 +139,7 @@ struct TRINITY_DLL_DECL instance_shadowfang_keep : public ScriptedInstance
OUT_SAVE_INST_DATA; OUT_SAVE_INST_DATA;
std::ostringstream saveStream; std::ostringstream saveStream;
saveStream << Encounter[0] << " " << Encounter[1] << " " << Encounter[2] << " " << Encounter[3]; saveStream << m_auiEncounter[0] << " " << m_auiEncounter[1] << " " << m_auiEncounter[2] << " " << m_auiEncounter[3];
str_data = saveStream.str(); str_data = saveStream.str();
@@ -154,13 +153,13 @@ struct TRINITY_DLL_DECL instance_shadowfang_keep : public ScriptedInstance
switch(type) switch(type)
{ {
case TYPE_FREE_NPC: case TYPE_FREE_NPC:
return Encounter[0]; return m_auiEncounter[0];
case TYPE_RETHILGORE: case TYPE_RETHILGORE:
return Encounter[1]; return m_auiEncounter[1];
case TYPE_FENRUS: case TYPE_FENRUS:
return Encounter[2]; return m_auiEncounter[2];
case TYPE_NANDOS: case TYPE_NANDOS:
return Encounter[3]; return m_auiEncounter[3];
} }
return 0; return 0;
} }
@@ -181,12 +180,12 @@ struct TRINITY_DLL_DECL instance_shadowfang_keep : public ScriptedInstance
OUT_LOAD_INST_DATA(in); OUT_LOAD_INST_DATA(in);
std::istringstream loadStream(in); std::istringstream loadStream(in);
loadStream >> Encounter[0] >> Encounter[1] >> Encounter[2] >> Encounter[3]; loadStream >> m_auiEncounter[0] >> m_auiEncounter[1] >> m_auiEncounter[2] >> m_auiEncounter[3];
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
{ {
if (Encounter[i] == IN_PROGRESS) if (m_auiEncounter[i] == IN_PROGRESS)
Encounter[i] = NOT_STARTED; m_auiEncounter[i] = NOT_STARTED;
} }
OUT_LOAD_INST_DATA_COMPLETE; OUT_LOAD_INST_DATA_COMPLETE;
@@ -45,13 +45,13 @@ EndScriptData */
#define C_BLACK_GUARD 10394 #define C_BLACK_GUARD 10394
#define C_YSIDA 16031 #define C_YSIDA 16031
#define ENCOUNTERS 6 #define MAX_ENCOUNTER 6
struct TRINITY_DLL_DECL instance_stratholme : public ScriptedInstance struct TRINITY_DLL_DECL instance_stratholme : public ScriptedInstance
{ {
instance_stratholme(Map* pMap) : ScriptedInstance(pMap) {Initialize();}; instance_stratholme(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
uint32 Encounter[ENCOUNTERS]; uint32 Encounter[MAX_ENCOUNTER];
bool IsSilverHandDead[5]; bool IsSilverHandDead[5];
@@ -76,7 +76,7 @@ struct TRINITY_DLL_DECL instance_stratholme : public ScriptedInstance
void Initialize() void Initialize()
{ {
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
Encounter[i] = NOT_STARTED; Encounter[i] = NOT_STARTED;
for(uint8 i = 0; i < 5; ++i) for(uint8 i = 0; i < 5; ++i)
@@ -332,7 +332,7 @@ struct TRINITY_DLL_DECL instance_stratholme : public ScriptedInstance
loadStream >> Encounter[0] >> Encounter[1] >> Encounter[2] >> Encounter[3] loadStream >> Encounter[0] >> Encounter[1] >> Encounter[2] >> Encounter[3]
>> Encounter[4] >> Encounter[5]; >> Encounter[4] >> Encounter[5];
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounter[i] == IN_PROGRESS) if (Encounter[i] == IN_PROGRESS)
Encounter[i] = NOT_STARTED; Encounter[i] = NOT_STARTED;
@@ -12,7 +12,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_sunwell_plateau.h" #include "def_sunwell_plateau.h"
#define ENCOUNTERS 6 #define MAX_ENCOUNTER 6
/* Sunwell Plateau: /* Sunwell Plateau:
0 - Kalecgos and Sathrovarr 0 - Kalecgos and Sathrovarr
@@ -27,7 +27,7 @@ struct TRINITY_DLL_DECL instance_sunwell_plateau : public ScriptedInstance
{ {
instance_sunwell_plateau(Map* pMap) : ScriptedInstance(pMap) {Initialize();}; instance_sunwell_plateau(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
uint32 Encounters[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
/** Creatures **/ /** Creatures **/
uint64 Kalecgos_Dragon; uint64 Kalecgos_Dragon;
@@ -55,6 +55,8 @@ struct TRINITY_DLL_DECL instance_sunwell_plateau : public ScriptedInstance
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
/*** Creatures ***/ /*** Creatures ***/
Kalecgos_Dragon = 0; Kalecgos_Dragon = 0;
Kalecgos_Human = 0; Kalecgos_Human = 0;
@@ -76,18 +78,14 @@ struct TRINITY_DLL_DECL instance_sunwell_plateau : public ScriptedInstance
MurusGate[0] = 0; MurusGate[0] = 0;
MurusGate[1] = 0; MurusGate[1] = 0;
/*** Encounters ***/
for(uint8 i = 0; i < ENCOUNTERS; ++i)
Encounters[i] = NOT_STARTED;
/*** Misc ***/ /*** Misc ***/
SpectralRealmTimer = 5000; SpectralRealmTimer = 5000;
} }
bool IsEncounterInProgress() const bool IsEncounterInProgress() const
{ {
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) if (m_auiEncounter[i] == IN_PROGRESS)
return true; return true;
return false; return false;
@@ -137,13 +135,13 @@ struct TRINITY_DLL_DECL instance_sunwell_plateau : public ScriptedInstance
{ {
case 188421: ForceField = go->GetGUID(); break; case 188421: ForceField = go->GetGUID(); break;
case 188075: case 188075:
if (Encounters[2] == DONE) if (m_auiEncounter[2] == DONE)
HandleGameObject(NULL, true, go); HandleGameObject(NULL, true, go);
FireBarrier = go->GetGUID(); FireBarrier = go->GetGUID();
break; break;
case 187990: MurusGate[0] = go->GetGUID(); break; case 187990: MurusGate[0] = go->GetGUID(); break;
case 188118: case 188118:
if (Encounters[4] == DONE) if (m_auiEncounter[4] == DONE)
HandleGameObject(NULL, true, go); HandleGameObject(NULL, true, go);
MurusGate[1]= go->GetGUID(); MurusGate[1]= go->GetGUID();
break; break;
@@ -154,12 +152,12 @@ struct TRINITY_DLL_DECL instance_sunwell_plateau : public ScriptedInstance
{ {
switch(id) switch(id)
{ {
case DATA_KALECGOS_EVENT: return Encounters[0]; case DATA_KALECGOS_EVENT: return m_auiEncounter[0];
case DATA_BRUTALLUS_EVENT: return Encounters[1]; case DATA_BRUTALLUS_EVENT: return m_auiEncounter[1];
case DATA_FELMYST_EVENT: return Encounters[2]; case DATA_FELMYST_EVENT: return m_auiEncounter[2];
case DATA_EREDAR_TWINS_EVENT: return Encounters[3]; case DATA_EREDAR_TWINS_EVENT: return m_auiEncounter[3];
case DATA_MURU_EVENT: return Encounters[4]; case DATA_MURU_EVENT: return m_auiEncounter[4];
case DATA_KILJAEDEN_EVENT: return Encounters[5]; case DATA_KILJAEDEN_EVENT: return m_auiEncounter[5];
} }
return 0; return 0;
} }
@@ -193,13 +191,13 @@ struct TRINITY_DLL_DECL instance_sunwell_plateau : public ScriptedInstance
{ {
switch(id) switch(id)
{ {
case DATA_KALECGOS_EVENT: Encounters[0] = data; break; case DATA_KALECGOS_EVENT: m_auiEncounter[0] = data; break;
case DATA_BRUTALLUS_EVENT: Encounters[1] = data; break; case DATA_BRUTALLUS_EVENT: m_auiEncounter[1] = data; break;
case DATA_FELMYST_EVENT: case DATA_FELMYST_EVENT:
if (data == DONE) if (data == DONE)
HandleGameObject(FireBarrier, true); HandleGameObject(FireBarrier, true);
Encounters[2] = data; break; m_auiEncounter[2] = data; break;
case DATA_EREDAR_TWINS_EVENT: Encounters[3] = data; break; case DATA_EREDAR_TWINS_EVENT: m_auiEncounter[3] = data; break;
case DATA_MURU_EVENT: case DATA_MURU_EVENT:
switch(data) switch(data)
{ {
@@ -216,8 +214,8 @@ struct TRINITY_DLL_DECL instance_sunwell_plateau : public ScriptedInstance
HandleGameObject(MurusGate[1], false); HandleGameObject(MurusGate[1], false);
break; break;
} }
Encounters[4] = data; break; m_auiEncounter[4] = data; break;
case DATA_KILJAEDEN_EVENT: Encounters[5] = data; break; case DATA_KILJAEDEN_EVENT: m_auiEncounter[5] = data; break;
} }
if (data == DONE) if (data == DONE)
@@ -228,8 +226,8 @@ struct TRINITY_DLL_DECL instance_sunwell_plateau : public ScriptedInstance
{ {
OUT_SAVE_INST_DATA; OUT_SAVE_INST_DATA;
std::ostringstream stream; std::ostringstream stream;
stream << Encounters[0] << " " << Encounters[1] << " " << Encounters[2] << " " << Encounters[3] << " " stream << m_auiEncounter[0] << " " << m_auiEncounter[1] << " " << m_auiEncounter[2] << " " << m_auiEncounter[3] << " "
<< Encounters[4] << " " << Encounters[5]; << m_auiEncounter[4] << " " << m_auiEncounter[5];
char* out = new char[stream.str().length() + 1]; char* out = new char[stream.str().length() + 1];
strcpy(out, stream.str().c_str()); strcpy(out, stream.str().c_str());
if (out) if (out)
@@ -250,11 +248,11 @@ struct TRINITY_DLL_DECL instance_sunwell_plateau : public ScriptedInstance
OUT_LOAD_INST_DATA(in); OUT_LOAD_INST_DATA(in);
std::istringstream stream(in); std::istringstream stream(in);
stream >> Encounters[0] >> Encounters[1] >> Encounters[2] >> Encounters[3] stream >> m_auiEncounter[0] >> m_auiEncounter[1] >> m_auiEncounter[2] >> m_auiEncounter[3]
>> Encounters[4] >> Encounters[5]; >> m_auiEncounter[4] >> m_auiEncounter[5];
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) // Do not load an encounter as "In Progress" - reset it instead. if (m_auiEncounter[i] == IN_PROGRESS) // Do not load an encounter as "In Progress" - reset it instead.
Encounters[i] = NOT_STARTED; m_auiEncounter[i] = NOT_STARTED;
OUT_LOAD_INST_DATA_COMPLETE; OUT_LOAD_INST_DATA_COMPLETE;
} }
}; };
@@ -24,7 +24,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_arcatraz.h" #include "def_arcatraz.h"
#define ENCOUNTERS 9 #define MAX_ENCOUNTER 9
#define CONTAINMENT_CORE_SECURITY_FIELD_ALPHA 184318 //door opened when Wrath-Scryer Soccothrates dies #define CONTAINMENT_CORE_SECURITY_FIELD_ALPHA 184318 //door opened when Wrath-Scryer Soccothrates dies
#define CONTAINMENT_CORE_SECURITY_FIELD_BETA 184319 //door opened when Dalliah the Doomsayer dies #define CONTAINMENT_CORE_SECURITY_FIELD_BETA 184319 //door opened when Dalliah the Doomsayer dies
@@ -50,7 +50,7 @@ struct TRINITY_DLL_DECL instance_arcatraz : public ScriptedInstance
{ {
instance_arcatraz(Map* pMap) : ScriptedInstance(pMap) {Initialize();}; instance_arcatraz(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
uint32 Encounter[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
GameObject *Containment_Core_Security_Field_Alpha; GameObject *Containment_Core_Security_Field_Alpha;
GameObject *Containment_Core_Security_Field_Beta; GameObject *Containment_Core_Security_Field_Beta;
@@ -66,6 +66,8 @@ struct TRINITY_DLL_DECL instance_arcatraz : public ScriptedInstance
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
Containment_Core_Security_Field_Alpha = NULL; Containment_Core_Security_Field_Alpha = NULL;
Containment_Core_Security_Field_Beta = NULL; Containment_Core_Security_Field_Beta = NULL;
Pod_Alpha = NULL; Pod_Alpha = NULL;
@@ -77,15 +79,12 @@ struct TRINITY_DLL_DECL instance_arcatraz : public ScriptedInstance
GoSphereGUID = 0; GoSphereGUID = 0;
MellicharGUID = 0; MellicharGUID = 0;
for(uint8 i = 0; i < ENCOUNTERS; ++i)
Encounter[i] = NOT_STARTED;
} }
bool IsEncounterInProgress() const bool IsEncounterInProgress() const
{ {
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounter[i] == IN_PROGRESS) if (m_auiEncounter[i] == IN_PROGRESS)
return true; return true;
return false; return false;
@@ -118,68 +117,68 @@ struct TRINITY_DLL_DECL instance_arcatraz : public ScriptedInstance
switch(type) switch(type)
{ {
case TYPE_ZEREKETH: case TYPE_ZEREKETH:
Encounter[0] = data; m_auiEncounter[0] = data;
break; break;
case TYPE_DALLIAH: case TYPE_DALLIAH:
if (data == DONE) if (data == DONE)
if (Containment_Core_Security_Field_Beta) if (Containment_Core_Security_Field_Beta)
Containment_Core_Security_Field_Beta->UseDoorOrButton(); Containment_Core_Security_Field_Beta->UseDoorOrButton();
Encounter[1] = data; m_auiEncounter[1] = data;
break; break;
case TYPE_SOCCOTHRATES: case TYPE_SOCCOTHRATES:
if (data == DONE) if (data == DONE)
if (Containment_Core_Security_Field_Alpha) if (Containment_Core_Security_Field_Alpha)
Containment_Core_Security_Field_Alpha->UseDoorOrButton(); Containment_Core_Security_Field_Alpha->UseDoorOrButton();
Encounter[2] = data; m_auiEncounter[2] = data;
break; break;
case TYPE_HARBINGERSKYRISS: case TYPE_HARBINGERSKYRISS:
if (data == NOT_STARTED || data == FAIL) if (data == NOT_STARTED || data == FAIL)
{ {
Encounter[4] = NOT_STARTED; m_auiEncounter[4] = NOT_STARTED;
Encounter[5] = NOT_STARTED; m_auiEncounter[5] = NOT_STARTED;
Encounter[6] = NOT_STARTED; m_auiEncounter[6] = NOT_STARTED;
Encounter[7] = NOT_STARTED; m_auiEncounter[7] = NOT_STARTED;
Encounter[8] = NOT_STARTED; m_auiEncounter[8] = NOT_STARTED;
} }
Encounter[3] = data; m_auiEncounter[3] = data;
break; break;
case TYPE_WARDEN_1: case TYPE_WARDEN_1:
if (data == IN_PROGRESS) if (data == IN_PROGRESS)
if (Pod_Alpha) if (Pod_Alpha)
Pod_Alpha->UseDoorOrButton(); Pod_Alpha->UseDoorOrButton();
Encounter[4] = data; m_auiEncounter[4] = data;
break; break;
case TYPE_WARDEN_2: case TYPE_WARDEN_2:
if (data == IN_PROGRESS) if (data == IN_PROGRESS)
if (Pod_Beta) if (Pod_Beta)
Pod_Beta->UseDoorOrButton(); Pod_Beta->UseDoorOrButton();
Encounter[5] = data; m_auiEncounter[5] = data;
break; break;
case TYPE_WARDEN_3: case TYPE_WARDEN_3:
if (data == IN_PROGRESS) if (data == IN_PROGRESS)
if (Pod_Delta) if (Pod_Delta)
Pod_Delta->UseDoorOrButton(); Pod_Delta->UseDoorOrButton();
Encounter[6] = data; m_auiEncounter[6] = data;
break; break;
case TYPE_WARDEN_4: case TYPE_WARDEN_4:
if (data == IN_PROGRESS) if (data == IN_PROGRESS)
if (Pod_Gamma) if (Pod_Gamma)
Pod_Gamma->UseDoorOrButton(); Pod_Gamma->UseDoorOrButton();
Encounter[7] = data; m_auiEncounter[7] = data;
break; break;
case TYPE_WARDEN_5: case TYPE_WARDEN_5:
if (data == IN_PROGRESS) if (data == IN_PROGRESS)
if (Pod_Omega) if (Pod_Omega)
Pod_Omega->UseDoorOrButton(); Pod_Omega->UseDoorOrButton();
Encounter[8] = data; m_auiEncounter[8] = data;
break; break;
case TYPE_SHIELD_OPEN: case TYPE_SHIELD_OPEN:
@@ -195,17 +194,17 @@ struct TRINITY_DLL_DECL instance_arcatraz : public ScriptedInstance
switch(type) switch(type)
{ {
case TYPE_HARBINGERSKYRISS: case TYPE_HARBINGERSKYRISS:
return Encounter[3]; return m_auiEncounter[3];
case TYPE_WARDEN_1: case TYPE_WARDEN_1:
return Encounter[4]; return m_auiEncounter[4];
case TYPE_WARDEN_2: case TYPE_WARDEN_2:
return Encounter[5]; return m_auiEncounter[5];
case TYPE_WARDEN_3: case TYPE_WARDEN_3:
return Encounter[6]; return m_auiEncounter[6];
case TYPE_WARDEN_4: case TYPE_WARDEN_4:
return Encounter[7]; return m_auiEncounter[7];
case TYPE_WARDEN_5: case TYPE_WARDEN_5:
return Encounter[8]; return m_auiEncounter[8];
} }
return 0; return 0;
} }
@@ -24,7 +24,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_the_eye.h" #include "def_the_eye.h"
#define ENCOUNTERS 5 #define MAX_ENCOUNTER 5
/* The Eye encounters: /* The Eye encounters:
0 - Kael'thas event 0 - Kael'thas event
@@ -48,10 +48,12 @@ struct TRINITY_DLL_DECL instance_the_eye : public ScriptedInstance
uint8 KaelthasEventPhase; uint8 KaelthasEventPhase;
uint8 AlarEventPhase; uint8 AlarEventPhase;
uint32 Encounters[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
ThaladredTheDarkener = 0; ThaladredTheDarkener = 0;
LordSanguinar = 0; LordSanguinar = 0;
GrandAstromancerCapernian = 0; GrandAstromancerCapernian = 0;
@@ -62,15 +64,12 @@ struct TRINITY_DLL_DECL instance_the_eye : public ScriptedInstance
KaelthasEventPhase = 0; KaelthasEventPhase = 0;
AlarEventPhase = 0; AlarEventPhase = 0;
for(uint8 i = 0; i < ENCOUNTERS; ++i)
Encounters[i] = NOT_STARTED;
} }
bool IsEncounterInProgress() const bool IsEncounterInProgress() const
{ {
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) return true; if (m_auiEncounter[i] == IN_PROGRESS) return true;
return false; return false;
} }
@@ -108,10 +107,10 @@ struct TRINITY_DLL_DECL instance_the_eye : public ScriptedInstance
{ {
switch(type) switch(type)
{ {
case DATA_ALAREVENT: AlarEventPhase = data; Encounters[0] = data; break; case DATA_ALAREVENT: AlarEventPhase = data; m_auiEncounter[0] = data; break;
case DATA_HIGHASTROMANCERSOLARIANEVENT: Encounters[1] = data; break; case DATA_HIGHASTROMANCERSOLARIANEVENT: m_auiEncounter[1] = data; break;
case DATA_VOIDREAVEREVENT: Encounters[2] = data; break; case DATA_VOIDREAVEREVENT: m_auiEncounter[2] = data; break;
case DATA_KAELTHASEVENT: KaelthasEventPhase = data; Encounters[3] = data; break; case DATA_KAELTHASEVENT: KaelthasEventPhase = data; m_auiEncounter[3] = data; break;
} }
if (data == DONE) if (data == DONE)
SaveToDB(); SaveToDB();
@@ -122,8 +121,8 @@ struct TRINITY_DLL_DECL instance_the_eye : public ScriptedInstance
switch(type) switch(type)
{ {
case DATA_ALAREVENT: return AlarEventPhase; case DATA_ALAREVENT: return AlarEventPhase;
case DATA_HIGHASTROMANCERSOLARIANEVENT: return Encounters[1]; case DATA_HIGHASTROMANCERSOLARIANEVENT: return m_auiEncounter[1];
case DATA_VOIDREAVEREVENT: return Encounters[2]; case DATA_VOIDREAVEREVENT: return m_auiEncounter[2];
case DATA_KAELTHASEVENT: return KaelthasEventPhase; case DATA_KAELTHASEVENT: return KaelthasEventPhase;
} }
return 0; return 0;
@@ -133,7 +132,7 @@ struct TRINITY_DLL_DECL instance_the_eye : public ScriptedInstance
{ {
OUT_SAVE_INST_DATA; OUT_SAVE_INST_DATA;
std::ostringstream stream; std::ostringstream stream;
stream << Encounters[0] << " " << Encounters[1] << " " << Encounters[2] << " " << Encounters[3]; stream << m_auiEncounter[0] << " " << m_auiEncounter[1] << " " << m_auiEncounter[2] << " " << m_auiEncounter[3];
char* out = new char[stream.str().length() + 1]; char* out = new char[stream.str().length() + 1];
strcpy(out, stream.str().c_str()); strcpy(out, stream.str().c_str());
if (out) if (out)
@@ -153,10 +152,10 @@ struct TRINITY_DLL_DECL instance_the_eye : public ScriptedInstance
} }
OUT_LOAD_INST_DATA(in); OUT_LOAD_INST_DATA(in);
std::istringstream stream(in); std::istringstream stream(in);
stream >> Encounters[0] >> Encounters[1] >> Encounters[2] >> Encounters[3]; stream >> m_auiEncounter[0] >> m_auiEncounter[1] >> m_auiEncounter[2] >> m_auiEncounter[3];
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) // Do not load an encounter as "In Progress" - reset it instead. if (m_auiEncounter[i] == IN_PROGRESS) // Do not load an encounter as "In Progress" - reset it instead.
Encounters[i] = NOT_STARTED; m_auiEncounter[i] = NOT_STARTED;
OUT_LOAD_INST_DATA_COMPLETE; OUT_LOAD_INST_DATA_COMPLETE;
} }
}; };
@@ -24,25 +24,24 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_mechanar.h" #include "def_mechanar.h"
#define ENCOUNTERS 1 #define MAX_ENCOUNTER 1
struct TRINITY_DLL_DECL instance_mechanar : public ScriptedInstance struct TRINITY_DLL_DECL instance_mechanar : public ScriptedInstance
{ {
instance_mechanar(Map* pMap) : ScriptedInstance(pMap) {Initialize();}; instance_mechanar(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
uint32 Encounters[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
void Initialize() void Initialize()
{ {
for(uint8 i = 0; i < ENCOUNTERS; ++i) memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
Encounters[i] = NOT_STARTED;
} }
bool IsEncounterInProgress() const bool IsEncounterInProgress() const
{ {
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) if (m_auiEncounter[i] == IN_PROGRESS)
return true; return true;
return false; return false;
@@ -52,7 +51,7 @@ struct TRINITY_DLL_DECL instance_mechanar : public ScriptedInstance
{ {
switch(type) switch(type)
{ {
case DATA_NETHERMANCER_EVENT: return Encounters[0]; case DATA_NETHERMANCER_EVENT: return m_auiEncounter[0];
} }
return false; return false;
@@ -67,7 +66,7 @@ struct TRINITY_DLL_DECL instance_mechanar : public ScriptedInstance
{ {
switch(type) switch(type)
{ {
case DATA_NETHERMANCER_EVENT: Encounters[0] = data; break; case DATA_NETHERMANCER_EVENT: m_auiEncounter[0] = data; break;
} }
} }
}; };
@@ -246,7 +246,7 @@ struct TRINITY_DLL_DECL boss_skeramAI : public ScriptedAI
Group *grp = CAST_PLR(targetpl)->GetGroup(); Group *grp = CAST_PLR(targetpl)->GetGroup();
if (grp) if (grp)
{ {
for (int ici = 0; ici < TARGETICONCOUNT; ici++) for (int ici = 0; ici < TARGETICONCOUNT; ++ici)
{ {
//if (grp ->m_targetIcons[ici] == m_creature->GetGUID()) -- private member:( //if (grp ->m_targetIcons[ici] == m_creature->GetGUID()) -- private member:(
grp->SetTargetIcon(ici, 0); grp->SetTargetIcon(ici, 0);
@@ -186,7 +186,7 @@ struct TRINITY_DLL_DECL aqsentinelAI : public ScriptedAI
ClearBudyList(); ClearBudyList();
AddSentinelsNear(m_creature); AddSentinelsNear(m_creature);
int bli; int bli;
for (bli = 0; bli < 3;bli++) for (bli = 0; bli < 3; ++bli)
{ {
if (!nearby[bli]) if (!nearby[bli])
break; break;
@@ -245,7 +245,7 @@ struct TRINITY_DLL_DECL aqsentinelAI : public ScriptedAI
void JustDied(Unit* who) void JustDied(Unit* who)
{ {
for (int ni=0; ni<3; ni++) for (int ni=0; ni<3; ++ni)
{ {
Creature *sent = nearby[ni]; Creature *sent = nearby[ni];
if (!sent) if (!sent)
@@ -26,7 +26,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_utgarde_keep.h" #include "def_utgarde_keep.h"
#define ENCOUNTERS 3 #define MAX_ENCOUNTER 3
#define ENTRY_BELLOW_1 186688 #define ENTRY_BELLOW_1 186688
#define ENTRY_BELLOW_2 186689 #define ENTRY_BELLOW_2 186689
@@ -59,11 +59,13 @@ struct TRINITY_DLL_DECL instance_utgarde_keep : public ScriptedInstance
uint64 forge_fire[3]; uint64 forge_fire[3];
uint64 forge_anvil[3]; uint64 forge_anvil[3];
uint32 Encounters[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
std::string str_data; std::string str_data;
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
Keleseth = 0; Keleseth = 0;
Skarvald = 0; Skarvald = 0;
Dalronn =0; Dalronn =0;
@@ -75,15 +77,12 @@ struct TRINITY_DLL_DECL instance_utgarde_keep : public ScriptedInstance
forge_fire[i] = 0; forge_fire[i] = 0;
forge_anvil[i] = 0; forge_anvil[i] = 0;
} }
for(uint8 i = 0; i < ENCOUNTERS; ++i)
Encounters[i] = NOT_STARTED;
} }
bool IsEncounterInProgress() const bool IsEncounterInProgress() const
{ {
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) return true; if (m_auiEncounter[i] == IN_PROGRESS) return true;
return false; return false;
} }
@@ -155,21 +154,21 @@ struct TRINITY_DLL_DECL instance_utgarde_keep : public ScriptedInstance
{ {
//HandleGameObject(doorname, 0); //HandleGameObject(doorname, 0);
} }
Encounters[0] = data; m_auiEncounter[0] = data;
break; break;
case DATA_SKARVALD_DALRONN_EVENT: case DATA_SKARVALD_DALRONN_EVENT:
if (data == DONE) if (data == DONE)
{ {
//HandleGameObject(doorname, 0); //HandleGameObject(doorname, 0);
} }
Encounters[1] = data; m_auiEncounter[1] = data;
break; break;
case DATA_INGVAR_EVENT: case DATA_INGVAR_EVENT:
if (data == DONE) if (data == DONE)
{ {
//HandleGameObject(doorname, 0); //HandleGameObject(doorname, 0);
} }
Encounters[2] = data; m_auiEncounter[2] = data;
break; break;
case EVENT_FORGE_1: case EVENT_FORGE_1:
if (data == NOT_STARTED) if (data == NOT_STARTED)
@@ -223,9 +222,9 @@ struct TRINITY_DLL_DECL instance_utgarde_keep : public ScriptedInstance
{ {
switch(type) switch(type)
{ {
case DATA_PRINCEKELESETH_EVENT: return Encounters[0]; case DATA_PRINCEKELESETH_EVENT: return m_auiEncounter[0];
case DATA_SKARVALD_DALRONN_EVENT: return Encounters[1]; case DATA_SKARVALD_DALRONN_EVENT: return m_auiEncounter[1];
case DATA_INGVAR_EVENT: return Encounters[2]; case DATA_INGVAR_EVENT: return m_auiEncounter[2];
} }
return 0; return 0;
@@ -236,8 +235,8 @@ struct TRINITY_DLL_DECL instance_utgarde_keep : public ScriptedInstance
OUT_SAVE_INST_DATA; OUT_SAVE_INST_DATA;
std::ostringstream saveStream; std::ostringstream saveStream;
saveStream << "U K " << Encounters[0] << " " << Encounters[1] << " " saveStream << "U K " << m_auiEncounter[0] << " " << m_auiEncounter[1] << " "
<< Encounters[2]; << m_auiEncounter[2];
str_data = saveStream.str(); str_data = saveStream.str();
@@ -263,13 +262,13 @@ struct TRINITY_DLL_DECL instance_utgarde_keep : public ScriptedInstance
if (dataHead1 == 'U' && dataHead2 == 'K') if (dataHead1 == 'U' && dataHead2 == 'K')
{ {
Encounters[0] = data0; m_auiEncounter[0] = data0;
Encounters[1] = data1; m_auiEncounter[1] = data1;
Encounters[2] = data2; m_auiEncounter[2] = data2;
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) if (m_auiEncounter[i] == IN_PROGRESS)
Encounters[i] = NOT_STARTED; m_auiEncounter[i] = NOT_STARTED;
}else OUT_LOAD_INST_DATA_FAIL; }else OUT_LOAD_INST_DATA_FAIL;
@@ -10,21 +10,20 @@ struct TRINITY_DLL_DECL instance_archavon : public ScriptedInstance
std::string strInstData; std::string strInstData;
uint64 Archavon; uint64 Archavon;
uint64 Emalon; uint64 Emalon;
uint32 Encounters[NUMBER_OF_ENCOUNTERS]; uint32 m_auiEncounter[NUMBER_OF_ENCOUNTERS];
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
Archavon = 0; Archavon = 0;
Emalon = 0; Emalon = 0;
for(uint8 i = 0; i < NUMBER_OF_ENCOUNTERS; ++i)
Encounters[i] = NOT_STARTED;
} }
bool IsEncounterInProgress() const bool IsEncounterInProgress() const
{ {
for(uint8 i = 0; i < NUMBER_OF_ENCOUNTERS; ++i) for(uint8 i = 0; i < NUMBER_OF_ENCOUNTERS; ++i)
if (Encounters[i] == IN_PROGRESS) if (m_auiEncounter[i] == IN_PROGRESS)
return true; return true;
return false; return false;
@@ -53,8 +52,8 @@ struct TRINITY_DLL_DECL instance_archavon : public ScriptedInstance
{ {
switch(identifier) switch(identifier)
{ {
case DATA_ARCHAVON_EVENT: return Encounters[0]; case DATA_ARCHAVON_EVENT: return m_auiEncounter[0];
case DATA_EMALON_EVENT: return Encounters[1]; case DATA_EMALON_EVENT: return m_auiEncounter[1];
} }
return 0; return 0;
} }
@@ -63,8 +62,8 @@ struct TRINITY_DLL_DECL instance_archavon : public ScriptedInstance
{ {
switch(identifier) switch(identifier)
{ {
case DATA_ARCHAVON_EVENT: Encounters[0] = data; break; case DATA_ARCHAVON_EVENT: m_auiEncounter[0] = data; break;
case DATA_EMALON_EVENT: Encounters[1] = data; break; case DATA_EMALON_EVENT: m_auiEncounter[1] = data; break;
} }
if (data == DONE) if (data == DONE)
@@ -72,7 +71,7 @@ struct TRINITY_DLL_DECL instance_archavon : public ScriptedInstance
OUT_SAVE_INST_DATA; OUT_SAVE_INST_DATA;
std::ostringstream saveStream; std::ostringstream saveStream;
saveStream << Encounters[0] << " " << Encounters[1]; saveStream << m_auiEncounter[0] << " " << m_auiEncounter[1];
strInstData = saveStream.str(); strInstData = saveStream.str();
@@ -97,12 +96,12 @@ struct TRINITY_DLL_DECL instance_archavon : public ScriptedInstance
OUT_LOAD_INST_DATA(chrIn); OUT_LOAD_INST_DATA(chrIn);
std::istringstream loadStream(chrIn); std::istringstream loadStream(chrIn);
loadStream >> Encounters[0] >> Encounters[1]; loadStream >> m_auiEncounter[0] >> m_auiEncounter[1];
for(uint8 i = 1; i < NUMBER_OF_ENCOUNTERS; ++i) for(uint8 i = 1; i < NUMBER_OF_ENCOUNTERS; ++i)
{ {
if (Encounters[i] == IN_PROGRESS) if (m_auiEncounter[i] == IN_PROGRESS)
Encounters[i] = NOT_STARTED; m_auiEncounter[i] = NOT_STARTED;
} }
OUT_LOAD_INST_DATA_COMPLETE; OUT_LOAD_INST_DATA_COMPLETE;
@@ -24,24 +24,23 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_wailing_caverns.h" #include "def_wailing_caverns.h"
#define ENCOUNTERS 9 #define MAX_ENCOUNTER 9
struct TRINITY_DLL_DECL instance_wailing_caverns : public ScriptedInstance struct TRINITY_DLL_DECL instance_wailing_caverns : public ScriptedInstance
{ {
instance_wailing_caverns(Map* pMap) : ScriptedInstance(pMap) {Initialize();}; instance_wailing_caverns(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
uint32 Encounter[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
bool yelled; bool yelled;
uint64 NaralexGUID; uint64 NaralexGUID;
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
yelled = false; yelled = false;
NaralexGUID = 0; NaralexGUID = 0;
for (uint8 i = 0; i < ENCOUNTERS; ++i)
Encounter[i] = NOT_STARTED;
} }
void OnCreatureCreate(Creature *creature, bool add) void OnCreatureCreate(Creature *creature, bool add)
@@ -54,15 +53,15 @@ struct TRINITY_DLL_DECL instance_wailing_caverns : public ScriptedInstance
{ {
switch (type) switch (type)
{ {
case TYPE_LORD_COBRAHN: Encounter[0] = data;break; case TYPE_LORD_COBRAHN: m_auiEncounter[0] = data;break;
case TYPE_LORD_PYTHAS: Encounter[1] = data;break; case TYPE_LORD_PYTHAS: m_auiEncounter[1] = data;break;
case TYPE_LADY_ANACONDRA: Encounter[2] = data;break; case TYPE_LADY_ANACONDRA: m_auiEncounter[2] = data;break;
case TYPE_LORD_SERPENTIS: Encounter[3] = data;break; case TYPE_LORD_SERPENTIS: m_auiEncounter[3] = data;break;
case TYPE_NARALEX_EVENT: Encounter[4] = data;break; case TYPE_NARALEX_EVENT: m_auiEncounter[4] = data;break;
case TYPE_NARALEX_PART1: Encounter[5] = data;break; case TYPE_NARALEX_PART1: m_auiEncounter[5] = data;break;
case TYPE_NARALEX_PART2: Encounter[6] = data;break; case TYPE_NARALEX_PART2: m_auiEncounter[6] = data;break;
case TYPE_NARALEX_PART3: Encounter[7] = data;break; case TYPE_NARALEX_PART3: m_auiEncounter[7] = data;break;
case TYPE_MUTANUS_THE_DEVOURER: Encounter[8] = data;break; case TYPE_MUTANUS_THE_DEVOURER: m_auiEncounter[8] = data;break;
case TYPE_NARALEX_YELLED: yelled = true; break; case TYPE_NARALEX_YELLED: yelled = true; break;
} }
if (data == DONE)SaveToDB(); if (data == DONE)SaveToDB();
@@ -72,15 +71,15 @@ struct TRINITY_DLL_DECL instance_wailing_caverns : public ScriptedInstance
{ {
switch (type) switch (type)
{ {
case TYPE_LORD_COBRAHN: return Encounter[0]; case TYPE_LORD_COBRAHN: return m_auiEncounter[0];
case TYPE_LORD_PYTHAS: return Encounter[1]; case TYPE_LORD_PYTHAS: return m_auiEncounter[1];
case TYPE_LADY_ANACONDRA: return Encounter[2]; case TYPE_LADY_ANACONDRA: return m_auiEncounter[2];
case TYPE_LORD_SERPENTIS: return Encounter[3]; case TYPE_LORD_SERPENTIS: return m_auiEncounter[3];
case TYPE_NARALEX_EVENT: return Encounter[4]; case TYPE_NARALEX_EVENT: return m_auiEncounter[4];
case TYPE_NARALEX_PART1: return Encounter[5]; case TYPE_NARALEX_PART1: return m_auiEncounter[5];
case TYPE_NARALEX_PART2: return Encounter[6]; case TYPE_NARALEX_PART2: return m_auiEncounter[6];
case TYPE_NARALEX_PART3: return Encounter[7]; case TYPE_NARALEX_PART3: return m_auiEncounter[7];
case TYPE_MUTANUS_THE_DEVOURER: return Encounter[8]; case TYPE_MUTANUS_THE_DEVOURER: return m_auiEncounter[8];
case TYPE_NARALEX_YELLED: return yelled; case TYPE_NARALEX_YELLED: return yelled;
} }
return 0; return 0;
@@ -97,9 +96,9 @@ struct TRINITY_DLL_DECL instance_wailing_caverns : public ScriptedInstance
OUT_SAVE_INST_DATA; OUT_SAVE_INST_DATA;
std::ostringstream saveStream; std::ostringstream saveStream;
saveStream << Encounter[0] << " " << Encounter[1] << " " << Encounter[2] << " " saveStream << m_auiEncounter[0] << " " << m_auiEncounter[1] << " " << m_auiEncounter[2] << " "
<< Encounter[3] << " " << Encounter[4] << " " << Encounter[5] << " " << m_auiEncounter[3] << " " << m_auiEncounter[4] << " " << m_auiEncounter[5] << " "
<< Encounter[6] << " " << Encounter[7] << " " << Encounter[8]; << m_auiEncounter[6] << " " << m_auiEncounter[7] << " " << m_auiEncounter[8];
OUT_SAVE_INST_DATA_COMPLETE; OUT_SAVE_INST_DATA_COMPLETE;
return saveStream.str(); return saveStream.str();
@@ -116,12 +115,12 @@ struct TRINITY_DLL_DECL instance_wailing_caverns : public ScriptedInstance
OUT_LOAD_INST_DATA(in); OUT_LOAD_INST_DATA(in);
std::istringstream loadStream(in); std::istringstream loadStream(in);
loadStream >> Encounter[0] >> Encounter[1] >> Encounter[2] >> Encounter[3] loadStream >> m_auiEncounter[0] >> m_auiEncounter[1] >> m_auiEncounter[2] >> m_auiEncounter[3]
>> Encounter[4] >> Encounter[5] >> Encounter[6] >> Encounter[7] >> Encounter[8]; >> m_auiEncounter[4] >> m_auiEncounter[5] >> m_auiEncounter[6] >> m_auiEncounter[7] >> m_auiEncounter[8];
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounter[i] != DONE) if (m_auiEncounter[i] != DONE)
Encounter[i] = NOT_STARTED; m_auiEncounter[i] = NOT_STARTED;
OUT_LOAD_INST_DATA_COMPLETE; OUT_LOAD_INST_DATA_COMPLETE;
} }
@@ -24,7 +24,7 @@ EndScriptData */
#include "precompiled.h" #include "precompiled.h"
#include "def_zulaman.h" #include "def_zulaman.h"
#define ENCOUNTERS 6 #define MAX_ENCOUNTER 6
#define RAND_VENDOR 2 #define RAND_VENDOR 2
//187021 //Harkor's Satchel //187021 //Harkor's Satchel
@@ -69,11 +69,13 @@ struct TRINITY_DLL_DECL instance_zulaman : public ScriptedInstance
uint16 QuestMinute; uint16 QuestMinute;
uint16 ChestLooted; uint16 ChestLooted;
uint32 Encounters[ENCOUNTERS]; uint32 m_auiEncounter[MAX_ENCOUNTER];
uint32 RandVendor[RAND_VENDOR]; uint32 RandVendor[RAND_VENDOR];
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
HarkorsSatchelGUID = 0; HarkorsSatchelGUID = 0;
TanzarsTrunkGUID = 0; TanzarsTrunkGUID = 0;
AshlisBagGUID = 0; AshlisBagGUID = 0;
@@ -90,16 +92,14 @@ struct TRINITY_DLL_DECL instance_zulaman : public ScriptedInstance
BossKilled = 0; BossKilled = 0;
ChestLooted = 0; ChestLooted = 0;
for(uint8 i = 0; i < ENCOUNTERS; ++i)
Encounters[i] = NOT_STARTED;
for(uint8 i = 0; i < RAND_VENDOR; ++i) for(uint8 i = 0; i < RAND_VENDOR; ++i)
RandVendor[i] = NOT_STARTED; RandVendor[i] = NOT_STARTED;
} }
bool IsEncounterInProgress() const bool IsEncounterInProgress() const
{ {
for(uint8 i = 0; i < ENCOUNTERS; ++i) for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounters[i] == IN_PROGRESS) return true; if (m_auiEncounter[i] == IN_PROGRESS) return true;
return false; return false;
} }
@@ -205,7 +205,7 @@ struct TRINITY_DLL_DECL instance_zulaman : public ScriptedInstance
switch(type) switch(type)
{ {
case DATA_NALORAKKEVENT: case DATA_NALORAKKEVENT:
Encounters[0] = data; m_auiEncounter[0] = data;
if (data == DONE) if (data == DONE)
{ {
if (QuestMinute) if (QuestMinute)
@@ -217,7 +217,7 @@ struct TRINITY_DLL_DECL instance_zulaman : public ScriptedInstance
} }
break; break;
case DATA_AKILZONEVENT: case DATA_AKILZONEVENT:
Encounters[1] = data; m_auiEncounter[1] = data;
HandleGameObject(AkilzonDoorGUID, data != IN_PROGRESS); HandleGameObject(AkilzonDoorGUID, data != IN_PROGRESS);
if (data == DONE) if (data == DONE)
{ {
@@ -230,23 +230,23 @@ struct TRINITY_DLL_DECL instance_zulaman : public ScriptedInstance
} }
break; break;
case DATA_JANALAIEVENT: case DATA_JANALAIEVENT:
Encounters[2] = data; m_auiEncounter[2] = data;
if (data == DONE) SummonHostage(2); if (data == DONE) SummonHostage(2);
break; break;
case DATA_HALAZZIEVENT: case DATA_HALAZZIEVENT:
Encounters[3] = data; m_auiEncounter[3] = data;
HandleGameObject(HalazziDoorGUID, data != IN_PROGRESS); HandleGameObject(HalazziDoorGUID, data != IN_PROGRESS);
if (data == DONE) SummonHostage(3); if (data == DONE) SummonHostage(3);
break; break;
case DATA_HEXLORDEVENT: case DATA_HEXLORDEVENT:
Encounters[4] = data; m_auiEncounter[4] = data;
if (data == IN_PROGRESS) if (data == IN_PROGRESS)
HandleGameObject(HexLordGateGUID, false); HandleGameObject(HexLordGateGUID, false);
else if (data == NOT_STARTED) else if (data == NOT_STARTED)
CheckInstanceStatus(); CheckInstanceStatus();
break; break;
case DATA_ZULJINEVENT: case DATA_ZULJINEVENT:
Encounters[5] = data; m_auiEncounter[5] = data;
HandleGameObject(ZulJinDoorGUID, data != IN_PROGRESS); HandleGameObject(ZulJinDoorGUID, data != IN_PROGRESS);
break; break;
case DATA_CHESTLOOTED: case DATA_CHESTLOOTED:
@@ -278,12 +278,12 @@ struct TRINITY_DLL_DECL instance_zulaman : public ScriptedInstance
{ {
switch(type) switch(type)
{ {
case DATA_NALORAKKEVENT: return Encounters[0]; case DATA_NALORAKKEVENT: return m_auiEncounter[0];
case DATA_AKILZONEVENT: return Encounters[1]; case DATA_AKILZONEVENT: return m_auiEncounter[1];
case DATA_JANALAIEVENT: return Encounters[2]; case DATA_JANALAIEVENT: return m_auiEncounter[2];
case DATA_HALAZZIEVENT: return Encounters[3]; case DATA_HALAZZIEVENT: return m_auiEncounter[3];
case DATA_HEXLORDEVENT: return Encounters[4]; case DATA_HEXLORDEVENT: return m_auiEncounter[4];
case DATA_ZULJINEVENT: return Encounters[5]; case DATA_ZULJINEVENT: return m_auiEncounter[5];
case DATA_CHESTLOOTED: return ChestLooted; case DATA_CHESTLOOTED: return ChestLooted;
case TYPE_RAND_VENDOR_1: return RandVendor[0]; case TYPE_RAND_VENDOR_1: return RandVendor[0];
case TYPE_RAND_VENDOR_2: return RandVendor[1]; case TYPE_RAND_VENDOR_2: return RandVendor[1];
@@ -39,13 +39,12 @@ struct TRINITY_DLL_DECL instance_zulgurub : public ScriptedInstance
void Initialize() void Initialize()
{ {
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
m_uiLorKhanGUID = 0; m_uiLorKhanGUID = 0;
m_uiZathGUID = 0; m_uiZathGUID = 0;
m_uiThekalGUID = 0; m_uiThekalGUID = 0;
m_uiJindoGUID = 0; m_uiJindoGUID = 0;
for(uint8 i = 0; i < MAX_ENCOUNTERS; ++i)
m_auiEncounter[i] = NOT_STARTED;
} }
bool IsEncounterInProgress() const bool IsEncounterInProgress() const