open door when Rhakzor dies. patch made by antihrists

requires db support

--HG--
branch : trunk
This commit is contained in:
Supabad
2010-05-26 00:07:46 +02:00
parent 6ba14cbc9e
commit 7556bb80a7
2 changed files with 14 additions and 2 deletions
@@ -14,7 +14,8 @@ enum CannonState
enum Data enum Data
{ {
EVENT_STATE EVENT_STATE,
EVENT_RHAHKZOR
}; };
enum Data64 enum Data64
@@ -24,6 +25,7 @@ enum Data64
enum GameObjects enum GameObjects
{ {
GO_FACTORY_DOOR = 13965,
GO_IRONCLAD_DOOR = 16397, GO_IRONCLAD_DOOR = 16397,
GO_DEFIAS_CANNON = 16398, GO_DEFIAS_CANNON = 16398,
GO_DOOR_LEVER = 101833, GO_DOOR_LEVER = 101833,
@@ -45,6 +45,7 @@ struct instance_deadmines : public ScriptedInstance
{ {
instance_deadmines(Map* pMap) : ScriptedInstance(pMap) { Initialize(); }; instance_deadmines(Map* pMap) : ScriptedInstance(pMap) { Initialize(); };
uint64 FactoryDoorGUID;
uint64 IronCladDoorGUID; uint64 IronCladDoorGUID;
uint64 DefiasCannonGUID; uint64 DefiasCannonGUID;
uint64 DoorLeverGUID; uint64 DoorLeverGUID;
@@ -59,6 +60,7 @@ struct instance_deadmines : public ScriptedInstance
void Initialize() void Initialize()
{ {
FactoryDoorGUID = 0;
IronCladDoorGUID = 0; IronCladDoorGUID = 0;
DefiasCannonGUID = 0; DefiasCannonGUID = 0;
DoorLeverGUID = 0; DoorLeverGUID = 0;
@@ -176,6 +178,7 @@ struct instance_deadmines : public ScriptedInstance
{ {
switch(pGo->GetEntry()) switch(pGo->GetEntry())
{ {
case GO_FACTORY_DOOR: FactoryDoorGUID = pGo->GetGUID(); break;
case GO_IRONCLAD_DOOR: IronCladDoorGUID = pGo->GetGUID(); break; case GO_IRONCLAD_DOOR: IronCladDoorGUID = pGo->GetGUID(); break;
case GO_DEFIAS_CANNON: DefiasCannonGUID = pGo->GetGUID(); break; case GO_DEFIAS_CANNON: DefiasCannonGUID = pGo->GetGUID(); break;
case GO_DOOR_LEVER: DoorLeverGUID = 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) void SetData(uint32 type, uint32 data)
{ {
if (type == EVENT_STATE) switch (type)
{ {
case EVENT_STATE:
if (DefiasCannonGUID && IronCladDoorGUID) if (DefiasCannonGUID && IronCladDoorGUID)
State=data; State=data;
break;
case EVENT_RHAHKZOR:
if (data == DONE)
if (GameObject* pGo = instance->GetGameObject(FactoryDoorGUID))
pGo->SetGoState(GO_STATE_ACTIVE);
break;
} }
} }