*remade Black Temple doors with new HandleGameObject

--HG--
branch : trunk
This commit is contained in:
Rat
2009-04-04 18:18:08 +02:00
parent 3fd4f3d4b3
commit 98f3d4d8b3
@@ -129,20 +129,6 @@ struct TRINITY_DLL_DECL instance_black_temple : public ScriptedInstance
return NULL; return NULL;
} }
void HandleGameObject(uint64 guid, uint32 state)
{
Player *player = GetPlayerInMap();
if (!player || !guid)
{
debug_log("TSCR: Black Temple: HandleGameObject fail");
return;
}
if (GameObject *go = GameObject::GetGameObject(*player,guid))
go->SetGoState(state);
}
void OnCreatureCreate(Creature *creature, uint32 creature_entry) void OnCreatureCreate(Creature *creature, uint32 creature_entry)
{ {
switch(creature_entry) switch(creature_entry)
@@ -167,24 +153,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) go->SetGoState(0);break; if(Encounters[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)go->SetGoState(0);break; if(Encounters[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) go->SetGoState(0);break; if(Encounters[3] == DONE)HandleGameObject(NULL,true,go);;break;
case 186153: TeronDoor = go->GetGUID(); case 186153: TeronDoor = go->GetGUID();
if(Encounters[3] == DONE)go->SetGoState(0);break; if(Encounters[3] == DONE)HandleGameObject(NULL,true,go);;break;
case 185892: GuurtogDoor = go->GetGUID(); case 185892: GuurtogDoor = go->GetGUID();
if(Encounters[4] == DONE)go->SetGoState(0);break; if(Encounters[4] == DONE)HandleGameObject(NULL,true,go);break;
case 185479: TempleDoor = go->GetGUID(); case 185479: TempleDoor = go->GetGUID();
if(Encounters[5] == DONE)go->SetGoState(0);break; if(Encounters[5] == DONE)HandleGameObject(NULL,true,go);break;
case 185482: MotherDoor = go->GetGUID(); case 185482: MotherDoor = go->GetGUID();
if(Encounters[6] == DONE)go->SetGoState(0);break; if(Encounters[6] == DONE)HandleGameObject(NULL,true,go);break;
case 185481: CouncilDoor = go->GetGUID(); case 185481: CouncilDoor = go->GetGUID();
if(Encounters[7] == DONE)go->SetGoState(0);break; if(Encounters[7] == DONE)HandleGameObject(NULL,true,go);break;
case 186152: SimpleDoor = go->GetGUID(); case 186152: SimpleDoor = go->GetGUID();
if(Encounters[7] == DONE)go->SetGoState(0);break; if(Encounters[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
@@ -224,59 +210,59 @@ struct TRINITY_DLL_DECL instance_black_temple : public ScriptedInstance
case DATA_HIGHWARLORDNAJENTUSEVENT: case DATA_HIGHWARLORDNAJENTUSEVENT:
if(data == DONE) if(data == DONE)
{ {
HandleGameObject(NajentusGate, 0); HandleGameObject(NajentusGate, true);
} }
Encounters[0] = data;break; Encounters[0] = data;break;
case DATA_SUPREMUSEVENT: case DATA_SUPREMUSEVENT:
if(data == DONE) if(data == DONE)
{ {
HandleGameObject(NajentusGate, 0); HandleGameObject(NajentusGate, true);
} }
Encounters[1] = data; break; Encounters[1] = data; break;
case DATA_SHADEOFAKAMAEVENT: case DATA_SHADEOFAKAMAEVENT:
if(data == IN_PROGRESS) if(data == IN_PROGRESS)
{ {
HandleGameObject(ShadeOfAkamaDoor, 1); HandleGameObject(ShadeOfAkamaDoor, false);
}else HandleGameObject(ShadeOfAkamaDoor, 0); }else HandleGameObject(ShadeOfAkamaDoor, true);
Encounters[2] = data; break; Encounters[2] = data; break;
case DATA_TERONGOREFIENDEVENT: case DATA_TERONGOREFIENDEVENT:
if(data == IN_PROGRESS) if(data == IN_PROGRESS)
{ {
HandleGameObject(TeronDoor, 1); HandleGameObject(TeronDoor, false);
HandleGameObject(CommonDoor, 1); HandleGameObject(CommonDoor, false);
}else }else
{ {
HandleGameObject(TeronDoor, 0); HandleGameObject(TeronDoor, true);
HandleGameObject(CommonDoor, 0); HandleGameObject(CommonDoor, true);
} }
Encounters[3] = data; break; Encounters[3] = data; break;
case DATA_GURTOGGBLOODBOILEVENT: case DATA_GURTOGGBLOODBOILEVENT:
if(data == DONE) if(data == DONE)
{ {
HandleGameObject(GuurtogDoor, 0); HandleGameObject(GuurtogDoor, true);
} }
Encounters[4] = data; break; Encounters[4] = data; break;
case DATA_RELIQUARYOFSOULSEVENT: case DATA_RELIQUARYOFSOULSEVENT:
if(data == DONE) if(data == DONE)
{ {
HandleGameObject(TempleDoor, 0); HandleGameObject(TempleDoor, true);
} }
Encounters[5] = data; break; Encounters[5] = data; break;
case DATA_MOTHERSHAHRAZEVENT: case DATA_MOTHERSHAHRAZEVENT:
if(data == DONE) if(data == DONE)
{ {
HandleGameObject(MotherDoor, 0); HandleGameObject(MotherDoor, true);
} }
Encounters[6] = data; break; Encounters[6] = data; break;
case DATA_ILLIDARICOUNCILEVENT: case DATA_ILLIDARICOUNCILEVENT:
if(data == IN_PROGRESS) if(data == IN_PROGRESS)
{ {
HandleGameObject(CouncilDoor, 1); HandleGameObject(CouncilDoor, false);
HandleGameObject(SimpleDoor, 1); HandleGameObject(SimpleDoor, false);
}else }else
{ {
HandleGameObject(CouncilDoor, 0); HandleGameObject(CouncilDoor, true);
HandleGameObject(SimpleDoor, 0); HandleGameObject(SimpleDoor, true);
} }
Encounters[7] = data; break; Encounters[7] = data; break;
case DATA_ILLIDANSTORMRAGEEVENT: Encounters[8] = data; break; case DATA_ILLIDANSTORMRAGEEVENT: Encounters[8] = data; break;