| | 118 | |
| | 119 | void OpenDoor(uint64 DoorGUID, bool open) |
| | 120 | { |
| | 121 | if(((InstanceMap*)instance)->GetPlayers().size()) |
| | 122 | if(Player* first = ((InstanceMap*)instance)->GetPlayers().front()) |
| | 123 | if(GameObject *Door = GameObject::GetGameObject(*first, DoorGUID)) |
| | 124 | Door->SetUInt32Value(GAMEOBJECT_STATE, open ? 0 : 1); |
| | 125 | } |
| | 126 | |
| | 127 | void CloseDoor(uint64 DoorGUID, bool close) |
| | 128 | { |
| | 129 | if(((InstanceMap*)instance)->GetPlayers().size()) |
| | 130 | if(Player* first = ((InstanceMap*)instance)->GetPlayers().front()) |
| | 131 | if(GameObject *Door = GameObject::GetGameObject(*first, DoorGUID)) |
| | 132 | Door->SetUInt32Value(GAMEOBJECT_STATE, close ? 1 : 0); |
| | 133 | } |
| | 134 | |
| | 135 | |
| 122 | | NajentusGate = go->GetGUID(); |
| 123 | | break; |
| 124 | | case 185882: // Main Temple Doors - right past Supermoose (Supremus) |
| 125 | | MainTempleDoors = go->GetGUID(); |
| 126 | | break; |
| 127 | | case 185905: // Gate leading to Temple Summit |
| | 161 | NajentusGate = go->GetGUID();break; |
| | 162 | case 185882: // Main Temple Doors - right past Supermoose (Supremus) |
| | 163 | MainTempleDoors = go->GetGUID();break; |
| | 164 | case 185478: |
| | 165 | ShadeOfAkamaDoor = go->GetGUID();break; |
| | 166 | case 185480: |
| | 167 | CommonDoor = go->GetGUID();break; |
| | 168 | case 186153: |
| | 169 | TeronDoor = go->GetGUID();break; |
| | 170 | case 185892: |
| | 171 | GuurtogDoor = go->GetGUID();break; |
| | 172 | case 185479: |
| | 173 | TempleDoor = go->GetGUID();break; |
| | 174 | case 185482: |
| | 175 | MotherDoor = go->GetGUID();break; |
| | 176 | case 185481: |
| | 177 | CouncilDoor = go->GetGUID();break; |
| | 178 | case 186152://used by council |
| | 179 | SimpleDoor = go->GetGUID();break; |
| | 180 | case 185905: // Gate leading to Temple Summit |
| 185 | | } |
| | 239 | BossKilled++; |
| | 240 | } |
| | 241 | CheckInstanceStatus(); |
| | 242 | } |
| | 243 | |
| | 244 | void CheckInstanceStatus() |
| | 245 | { |
| | 246 | if(BossKilled >= 6) |
| | 247 | OpenDoor(TempleDoor, true); |
| | 248 | if(Encounters[0] == DONE) |
| | 249 | OpenDoor(NajentusGate, true); |
| | 250 | if(Encounters[2] == IN_PROGRESS) |
| | 251 | CloseDoor(ShadeOfAkamaDoor, true); |
| | 252 | else OpenDoor(ShadeOfAkamaDoor, true); |
| | 253 | if(Encounters[3] == IN_PROGRESS) |
| | 254 | { |
| | 255 | CloseDoor(TeronDoor, true); |
| | 256 | CloseDoor(CommonDoor, true); |
| | 257 | }else{ |
| | 258 | OpenDoor(TeronDoor, true); |
| | 259 | OpenDoor(CommonDoor, true); |
| | 260 | } |
| | 261 | if(Encounters[4] == DONE) |
| | 262 | OpenDoor(GuurtogDoor, true); |
| | 263 | if(Encounters[6] == DONE) |
| | 264 | OpenDoor(MotherDoor, true); |
| | 265 | if(Encounters[7] == IN_PROGRESS) |
| | 266 | { |
| | 267 | CloseDoor(CouncilDoor, true); |
| | 268 | CloseDoor(SimpleDoor, true); |
| | 269 | }else{ |
| | 270 | OpenDoor(CouncilDoor, true); |
| | 271 | OpenDoor(SimpleDoor, true); |
| | 272 | } |
| | 273 | } |