diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/scripts/eastern_kingdoms/deadmines/deadmines.h | 4 | ||||
-rw-r--r-- | src/scripts/eastern_kingdoms/deadmines/instance_deadmines.cpp | 12 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/scripts/eastern_kingdoms/deadmines/deadmines.h b/src/scripts/eastern_kingdoms/deadmines/deadmines.h index f8ea790add1..203494ad5b7 100644 --- a/src/scripts/eastern_kingdoms/deadmines/deadmines.h +++ b/src/scripts/eastern_kingdoms/deadmines/deadmines.h @@ -14,7 +14,8 @@ enum CannonState enum Data { - EVENT_STATE + EVENT_STATE, + EVENT_RHAHKZOR }; enum Data64 @@ -24,6 +25,7 @@ enum Data64 enum GameObjects { + GO_FACTORY_DOOR = 13965, GO_IRONCLAD_DOOR = 16397, GO_DEFIAS_CANNON = 16398, GO_DOOR_LEVER = 101833, diff --git a/src/scripts/eastern_kingdoms/deadmines/instance_deadmines.cpp b/src/scripts/eastern_kingdoms/deadmines/instance_deadmines.cpp index e5a87d978ec..f1aa0c62b8a 100644 --- a/src/scripts/eastern_kingdoms/deadmines/instance_deadmines.cpp +++ b/src/scripts/eastern_kingdoms/deadmines/instance_deadmines.cpp @@ -45,6 +45,7 @@ struct instance_deadmines : public ScriptedInstance { instance_deadmines(Map* pMap) : ScriptedInstance(pMap) { Initialize(); }; + uint64 FactoryDoorGUID; uint64 IronCladDoorGUID; uint64 DefiasCannonGUID; uint64 DoorLeverGUID; @@ -59,6 +60,7 @@ struct instance_deadmines : public ScriptedInstance void Initialize() { + FactoryDoorGUID = 0; IronCladDoorGUID = 0; DefiasCannonGUID = 0; DoorLeverGUID = 0; @@ -176,6 +178,7 @@ struct instance_deadmines : public ScriptedInstance { switch(pGo->GetEntry()) { + case GO_FACTORY_DOOR: FactoryDoorGUID = pGo->GetGUID(); break; case GO_IRONCLAD_DOOR: IronCladDoorGUID = pGo->GetGUID(); break; case GO_DEFIAS_CANNON: DefiasCannonGUID = pGo->GetGUID(); break; case GO_DOOR_LEVER: DoorLeverGUID = pGo->GetGUID(); break; @@ -185,10 +188,17 @@ struct instance_deadmines : public ScriptedInstance void SetData(uint32 type, uint32 data) { - if (type == EVENT_STATE) + switch (type) { + case EVENT_STATE: if (DefiasCannonGUID && IronCladDoorGUID) State=data; + break; + case EVENT_RHAHKZOR: + if (data == DONE) + if (GameObject* pGo = instance->GetGameObject(FactoryDoorGUID)) + pGo->SetGoState(GO_STATE_ACTIVE); + break; } } |