From 7556bb80a7726b549c9e83e67a901263d8cb96d2 Mon Sep 17 00:00:00 2001 From: Supabad Date: Wed, 26 May 2010 00:07:46 +0200 Subject: open door when Rhakzor dies. patch made by antihrists requires db support --HG-- branch : trunk --- src/scripts/eastern_kingdoms/deadmines/deadmines.h | 4 +++- .../eastern_kingdoms/deadmines/instance_deadmines.cpp | 12 +++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) (limited to 'src') 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; } } -- cgit v1.2.3