aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp28
-rw-r--r--src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp13
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp17
-rw-r--r--src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp12
-rw-r--r--src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp18
-rw-r--r--src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp27
-rw-r--r--src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp23
-rw-r--r--src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp46
-rw-r--r--src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp11
-rw-r--r--src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp7
-rw-r--r--src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp6
-rw-r--r--src/bindings/scripts/scripts/zone/karazhan/boss_prince_malchezaar.cpp15
-rw-r--r--src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp14
-rw-r--r--src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp25
-rw-r--r--src/bindings/scripts/scripts/zone/karazhan/instance_karazhan.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp17
-rw-r--r--src/bindings/scripts/scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp25
-rw-r--r--src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp21
-rw-r--r--src/bindings/scripts/scripts/zone/razorfen_kraul/instance_razorfen_kraul.cpp14
-rw-r--r--src/bindings/scripts/scripts/zone/scarlet_monastery/instance_scarlet_monastery.cpp15
-rw-r--r--src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp6
-rw-r--r--src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp5
-rw-r--r--src/bindings/scripts/scripts/zone/zulaman/instance_zulaman.cpp18
24 files changed, 126 insertions, 263 deletions
diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp
index 60d09bef6cd..0c0303b0f40 100644
--- a/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp
+++ b/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp
@@ -458,10 +458,7 @@ struct TRINITY_DLL_DECL boss_illidan_stormrageAI : public ScriptedAI
pInstance->SetData(DATA_ILLIDANSTORMRAGEEVENT, DONE); // Completed
for(uint8 i = DATA_GAMEOBJECT_ILLIDAN_DOOR_R; i < DATA_GAMEOBJECT_ILLIDAN_DOOR_L + 1; ++i)
- {
- if (GameObject* pDoor = pInstance->instance->GetGameObject(pInstance->GetData64(i)))
- pDoor->SetGoState(GO_STATE_ACTIVE); // Open Doors
- }
+ pInstance->HandleGameObject(pInstance->GetData64(i), true);
}
void KilledUnit(Unit *victim)
@@ -1002,11 +999,11 @@ struct TRINITY_DLL_DECL npc_akama_illidanAI : public ScriptedAI
DoorGUID[0] = pInstance->GetData64(DATA_GAMEOBJECT_ILLIDAN_DOOR_R);
DoorGUID[1] = pInstance->GetData64(DATA_GAMEOBJECT_ILLIDAN_DOOR_L);
- if(GETGO(Gate, GateGUID))
- Gate->SetGoState(GO_STATE_READY);
+ pInstance->HandleGameObject(pInstance->GetData64(GateGUID), false);
+
for(uint8 i = 0; i < 2; i++)
- if(GETGO(Door, DoorGUID[i]))
- Door->SetGoState(GO_STATE_READY);
+ pInstance->HandleGameObject(pInstance->GetData64(DoorGUID[i]), false);
+
}
else
{
@@ -1070,12 +1067,13 @@ struct TRINITY_DLL_DECL npc_akama_illidanAI : public ScriptedAI
void BeginTalk()
{
- if(pInstance)
- pInstance->SetData(DATA_ILLIDANSTORMRAGEEVENT, IN_PROGRESS);
+ if(!pInstance)
+ return;
+
+ pInstance->SetData(DATA_ILLIDANSTORMRAGEEVENT, IN_PROGRESS);
for(uint8 i = 0; i < 2; i++)
- if(GETGO(Door, DoorGUID[i]))
- Door->SetGoState(GO_STATE_READY);
+ pInstance->HandleGameObject(pInstance->GetData64(DoorGUID[i]), false);
if(GETCRE(Illidan, IllidanGUID))
{
@@ -1240,8 +1238,7 @@ struct TRINITY_DLL_DECL npc_akama_illidanAI : public ScriptedAI
m_creature->InterruptNonMeleeSpells(true);
Spirit[0]->InterruptNonMeleeSpells(true);
Spirit[1]->InterruptNonMeleeSpells(true);
- if(GETGO(Gate, GateGUID))
- Gate->SetGoState(GO_STATE_ACTIVE);
+ pInstance->HandleGameObject(pInstance->GetData64(GateGUID), true);
Timer = 2000;
break;
case 4:
@@ -1271,8 +1268,7 @@ struct TRINITY_DLL_DECL npc_akama_illidanAI : public ScriptedAI
{
case 6:
for(uint8 i = 0; i < 2; i++)
- if(GETGO(Door, DoorGUID[i]))
- Door->SetGoState(GO_STATE_ACTIVE);
+ pInstance->HandleGameObject(pInstance->GetData64(DoorGUID[i]), true);
break;
case 8:
if(Phase == PHASE_WALK)
diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp
index 1805019dc42..6fc202f2105 100644
--- a/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp
+++ b/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp
@@ -103,17 +103,6 @@ struct TRINITY_DLL_DECL boss_supremusAI : public ScriptedAI
events.ScheduleEvent(EVENT_FLAME, 20000, GCD_CAST);
}
- void ToggleDoors(bool close)
- {
- if(GameObject* Doors = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_SUPREMUS_DOORS)))
- {
- if(close)
- Doors->SetGoState(GO_STATE_READY); // Closed
- else
- Doors->SetGoState(GO_STATE_ACTIVE); // Open
- }
- }
-
void ChangePhase()
{
if(!phase || phase == PHASE_CHASE)
@@ -145,7 +134,7 @@ struct TRINITY_DLL_DECL boss_supremusAI : public ScriptedAI
if(pInstance)
{
pInstance->SetData(DATA_SUPREMUSEVENT, DONE);
- ToggleDoors(false);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_SUPREMUS_DOORS), true);
}
summons.DespawnAll();
}
diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp
index 8a08ba5f4c0..7541bd124aa 100644
--- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp
+++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp
@@ -108,16 +108,16 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance
case 182060:
HordeGate = go->GetGUID();
if(allianceRetreat)
- go->SetGoState(GO_STATE_ACTIVE);
+ HandleGameObject(0, true, go);
else
- go->SetGoState(GO_STATE_READY);
+ HandleGameObject(0, false, go);
break;
case 182061:
ElfGate = go->GetGUID();
if(hordeRetreat)
- go->SetGoState(GO_STATE_ACTIVE);
+ HandleGameObject(0, true, go);
else
- go->SetGoState(GO_STATE_READY);
+ HandleGameObject(0, false, go);
break;
case GO_ANCIENT_GEM:
m_uiAncientGemGUID.push_back(go->GetGUID());
@@ -125,11 +125,6 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance
}
}
- void OpenDoor(uint64 DoorGUID, bool open)
- {
- HandleGameObject(DoorGUID, open, NULL);
- }
-
void OnCreatureCreate(Creature *creature, bool add)
{
switch(creature->GetEntry())
@@ -233,12 +228,12 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance
break;
case DATA_ALLIANCE_RETREAT:
allianceRetreat = data;
- OpenDoor(HordeGate,true);
+ HandleGameObject(HordeGate, true);
SaveToDB();
break;
case DATA_HORDE_RETREAT:
hordeRetreat = data;
- OpenDoor(ElfGate,true);
+ HandleGameObject(ElfGate, true);
SaveToDB();
break;
case DATA_RAIDDAMAGE:
diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp
index dd8bcb0183f..3055ac5e59f 100644
--- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp
+++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp
@@ -134,12 +134,6 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance
}
}
- void OpenDoor(uint64 DoorGUID, bool open)
- {
- if(GameObject *Door = instance->GetGameObject(DoorGUID))
- Door->SetGoState(open ? GO_STATE_ACTIVE : GO_STATE_READY);
- }
-
void OnCreatureCreate(Creature *creature, bool add)
{
switch(creature->GetEntry())
@@ -186,9 +180,9 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance
case DATA_CONTROL_CONSOLE:
if(data == DONE)
{
- OpenDoor(BridgePart[0], true);
- OpenDoor(BridgePart[1], true);
- OpenDoor(BridgePart[2], true);
+ HandleGameObject(BridgePart[0], true);
+ HandleGameObject(BridgePart[0], true);
+ HandleGameObject(BridgePart[0], true);
}
ControlConsole = data;
case DATA_HYDROSSTHEUNSTABLEEVENT: Encounters[0] = data; break;
diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp
index a35551481fa..0a39fa815a2 100644
--- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp
+++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp
@@ -115,14 +115,11 @@ struct TRINITY_DLL_DECL instance_steam_vault : public ScriptedInstance
case TYPE_HYDROMANCER_THESPIA:
if (data == SPECIAL)
{
- if (GameObject *_go = instance->GetGameObject(AccessPanelHydro))
- _go->SetGoState(GO_STATE_ACTIVE);
+ HandleGameObject(AccessPanelHydro, true);
if (GetData(TYPE_MEKGINEER_STEAMRIGGER) == SPECIAL)
- {
- if (GameObject *_go = instance->GetGameObject(MainChambersDoor))
- _go->SetGoState(GO_STATE_ACTIVE);
- }
+ HandleGameObject(MainChambersDoor, true);
+
debug_log("TSCR: Instance Steamvault: Access panel used.");
}
Encounter[0] = data;
@@ -130,14 +127,11 @@ struct TRINITY_DLL_DECL instance_steam_vault : public ScriptedInstance
case TYPE_MEKGINEER_STEAMRIGGER:
if (data == SPECIAL)
{
- if (GameObject *_go = instance->GetGameObject(AccessPanelMek))
- _go->SetGoState(GO_STATE_ACTIVE);
+ HandleGameObject(AccessPanelMek, true);
if (GetData(TYPE_HYDROMANCER_THESPIA) == SPECIAL)
- {
- if (GameObject *_go = instance->GetGameObject(MainChambersDoor))
- _go->SetGoState(GO_STATE_ACTIVE);
- }
+ HandleGameObject(MainChambersDoor, true);
+
debug_log("TSCR: Instance Steamvault: Access panel used.");
}
Encounter[1] = data;
diff --git a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp b/src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp
index 9dea3d1533d..a0b4f632c42 100644
--- a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp
+++ b/src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp
@@ -110,9 +110,7 @@ struct TRINITY_DLL_DECL boss_gruulAI : public ScriptedAI
if(pInstance)
{
pInstance->SetData(DATA_GRUULEVENT, DONE);
-
- if (GameObject* EncounterDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GRUULDOOR)))
- EncounterDoor->SetGoState(GO_STATE_ACTIVE); // Open the encounter door
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GRUULDOOR), true); // Open the encounter door
}
}
diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp
index e77ce3d2fdf..f383a52942e 100644
--- a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp
+++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp
@@ -53,17 +53,21 @@ struct TRINITY_DLL_DECL boss_broggokAI : public ScriptedAI
AcidSpray_Timer = 10000;
PoisonSpawn_Timer = 5000;
PoisonBolt_Timer = 7000;
- ToggleDoors(0, DATA_DOOR4);
if(pInstance)
+ {
pInstance->SetData(TYPE_BROGGOK_EVENT, NOT_STARTED);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_DOOR4), true);
+ }
}
void EnterCombat(Unit *who)
{
DoScriptText(SAY_AGGRO, m_creature);
- ToggleDoors(1, DATA_DOOR4);
if(pInstance)
+ {
pInstance->SetData(TYPE_BROGGOK_EVENT, IN_PROGRESS);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_DOOR4), false);
+ }
}
void JustSummoned(Creature *summoned)
@@ -102,25 +106,14 @@ struct TRINITY_DLL_DECL boss_broggokAI : public ScriptedAI
void JustDied(Unit* who)
{
- ToggleDoors(0, DATA_DOOR4);
- ToggleDoors(0, DATA_DOOR5);
if(pInstance)
- pInstance->SetData(TYPE_BROGGOK_EVENT, DONE);
- }
-
- void ToggleDoors(uint8 close, uint64 DOOR)
- {
- if (pInstance)
{
- if (GameObject* Doors = pInstance->instance->GetGameObject(pInstance->GetData64(DOOR)))
- {
- if (close == 1)
- Doors->SetGoState(GO_STATE_READY); // Closed
- else
- Doors->SetGoState(GO_STATE_ACTIVE); // Open
- }
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_DOOR4), true);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_DOOR5), true);
+ pInstance->SetData(TYPE_BROGGOK_EVENT, DONE);
}
}
+
};
CreatureAI* GetAI_boss_broggok(Creature *_Creature)
diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp
index 115ed61e91a..41fd8d68a8d 100644
--- a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp
+++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp
@@ -186,11 +186,13 @@ struct TRINITY_DLL_DECL boss_kelidan_the_breakerAI : public ScriptedAI
void JustDied(Unit* Killer)
{
DoScriptText(SAY_DIE, m_creature);
- ToggleDoors(0, DATA_DOOR1);
- ToggleDoors(0, DATA_DOOR6);
- if(pInstance)
- pInstance->SetData(TYPE_KELIDAN_THE_BREAKER_EVENT, DONE);
+ if(!pInstance)
+ return;
+
+ pInstance->SetData(TYPE_KELIDAN_THE_BREAKER_EVENT, DONE);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_DOOR1), true);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_DOOR6), true);
}
void UpdateAI(const uint32 diff)
@@ -260,19 +262,6 @@ struct TRINITY_DLL_DECL boss_kelidan_the_breakerAI : public ScriptedAI
DoMeleeAttackIfReady();
}
- void ToggleDoors(uint8 close, uint64 DOOR)
- {
- if (pInstance)
- {
- if (GameObject* Doors = pInstance->instance->GetGameObject(pInstance->GetData64(DOOR)))
- {
- if (close == 1)
- Doors->SetGoState(GO_STATE_READY); // Closed
- else
- Doors->SetGoState(GO_STATE_ACTIVE); // Open
- }
- }
- }
};
CreatureAI* GetAI_boss_kelidan_the_breaker(Creature *_Creature)
diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp
index 97676ece79c..a48c22c4a17 100644
--- a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp
+++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp
@@ -59,10 +59,12 @@ struct TRINITY_DLL_DECL boss_the_makerAI : public ScriptedAI
ExplodingBreaker_Timer = 6000;
Domination_Timer = 120000;
Knockdown_Timer = 10000;
-
- ToggleDoors(0, DATA_DOOR2);
- if(pInstance)
- pInstance->SetData(TYPE_THE_MAKER_EVENT, NOT_STARTED);
+
+ if(!pInstance)
+ return;
+
+ pInstance->SetData(TYPE_THE_MAKER_EVENT, NOT_STARTED);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_DOOR2), true);
}
void EnterCombat(Unit *who)
@@ -74,9 +76,11 @@ struct TRINITY_DLL_DECL boss_the_makerAI : public ScriptedAI
case 2: DoScriptText(SAY_AGGRO_3, m_creature); break;
}
- ToggleDoors(1, DATA_DOOR2);
- if(pInstance)
- pInstance->SetData(TYPE_THE_MAKER_EVENT, IN_PROGRESS);
+ if(!pInstance)
+ return;
+
+ pInstance->SetData(TYPE_THE_MAKER_EVENT, IN_PROGRESS);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_DOOR2), false);
}
void KilledUnit(Unit* victim)
@@ -91,11 +95,15 @@ struct TRINITY_DLL_DECL boss_the_makerAI : public ScriptedAI
void JustDied(Unit* Killer)
{
DoScriptText(SAY_DIE, m_creature);
- ToggleDoors(0, DATA_DOOR2);
- ToggleDoors(0, DATA_DOOR3);
- if(pInstance)
- pInstance->SetData(TYPE_THE_MAKER_EVENT, DONE);
+ if(!pInstance)
+ return;
+
+ pInstance->SetData(TYPE_THE_MAKER_EVENT, DONE);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_DOOR2), true);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_DOOR3), true);
+
+
}
void UpdateAI(const uint32 diff)
@@ -136,20 +144,6 @@ struct TRINITY_DLL_DECL boss_the_makerAI : public ScriptedAI
DoMeleeAttackIfReady();
}
-
- void ToggleDoors(uint8 close, uint64 DOOR)
- {
- if (pInstance)
- {
- if (GameObject* Doors = pInstance->instance->GetGameObject(pInstance->GetData64(DOOR)))
- {
- if (close == 1)
- Doors->SetGoState(GO_STATE_READY); // Closed
- else
- Doors->SetGoState(GO_STATE_ACTIVE); // Open
- }
- }
- }
};
CreatureAI* GetAI_boss_the_makerAI(Creature *_Creature)
@@ -161,7 +155,7 @@ void AddSC_boss_the_maker()
{
Script *newscript;
newscript = new Script;
- newscript->Name="boss_the_maker";
+ newscript->Name = "boss_the_maker";
newscript->GetAI = &GetAI_boss_the_makerAI;
newscript->RegisterSelf();
}
diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp
index 6b49df203f4..107d6c34266 100644
--- a/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp
+++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp
@@ -125,10 +125,7 @@ struct TRINITY_DLL_DECL instance_magtheridons_lair : public ScriptedInstance
if(data == NOT_STARTED)
RespawnTimer = 10000;
if(data != IN_PROGRESS)
- {
- if(GameObject *Door = instance->GetGameObject(DoorGUID))
- Door->SetGoState(GO_STATE_ACTIVE);
- }
+ HandleGameObject(DoorGUID, true);
break;
case DATA_CHANNELER_EVENT:
switch(data)
@@ -148,8 +145,7 @@ struct TRINITY_DLL_DECL instance_magtheridons_lair : public ScriptedInstance
}
}
CageTimer = 0;
- if(GameObject *Door = instance->GetGameObject(DoorGUID))
- Door->SetGoState(GO_STATE_ACTIVE);
+ HandleGameObject(DoorGUID, true);
}break;
case IN_PROGRESS: // Event start.
if(Encounters[1] != IN_PROGRESS)
@@ -169,8 +165,7 @@ struct TRINITY_DLL_DECL instance_magtheridons_lair : public ScriptedInstance
Magtheridon->MonsterTextEmote("'s bonds begin to weaken!", 0);
CageTimer = 120000;
}
- if(GameObject *Door = instance->GetGameObject(DoorGUID))
- Door->SetGoState(GO_STATE_READY);
+ HandleGameObject(DoorGUID, false);
}break;
case DONE: // Add buff and check if all channelers are dead.
for(std::set<uint64>::iterator i = ChannelerGUID.begin(); i != ChannelerGUID.end(); ++i)
diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp
index 808587ff274..67345f15aef 100644
--- a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp
+++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp
@@ -232,12 +232,7 @@ struct TRINITY_DLL_DECL boss_grand_warlock_nethekurseAI : public ScriptedAI
return;
pInstance->SetData(TYPE_NETHEKURSE,DONE);
-
- if (pInstance->GetData64(DATA_NETHEKURSE_DOOR))
- {
- if (GameObject *Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_NETHEKURSE_DOOR)))
- Door->SetGoState(GO_STATE_ACTIVE);
- }
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_NETHEKURSE_DOOR), true);
}
void UpdateAI(const uint32 diff)
diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp
index 45f79215409..56194893b17 100644
--- a/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp
+++ b/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp
@@ -138,10 +138,8 @@ struct TRINITY_DLL_DECL boss_nightbaneAI : public ScriptedAI
void HandleTerraceDoors(bool open)
{
- if(GameObject *Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_MASTERS_TERRACE_DOOR_1)))
- Door->SetGoState(open ? GO_STATE_ACTIVE : GO_STATE_READY);
- if(GameObject *Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_MASTERS_TERRACE_DOOR_2)))
- Door->SetGoState(open ? GO_STATE_ACTIVE : GO_STATE_READY);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_MASTERS_TERRACE_DOOR_1), open);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_MASTERS_TERRACE_DOOR_2), open);
}
void EnterCombat(Unit *who)
diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_prince_malchezaar.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_prince_malchezaar.cpp
index 84ae57b3877..691fad1d3f0 100644
--- a/src/bindings/scripts/scripts/zone/karazhan/boss_prince_malchezaar.cpp
+++ b/src/bindings/scripts/scripts/zone/karazhan/boss_prince_malchezaar.cpp
@@ -207,10 +207,7 @@ struct TRINITY_DLL_DECL boss_malchezaarAI : public ScriptedAI
phase = 1;
if(pInstance)
- {
- if(GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_NETHER_DOOR)))
- Door->SetGoState(GO_STATE_ACTIVE);
- }
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_NETHER_DOOR), true);
}
void KilledUnit(Unit *victim)
@@ -236,10 +233,7 @@ struct TRINITY_DLL_DECL boss_malchezaarAI : public ScriptedAI
positions.push_back(&InfernalPoints[i]);
if(pInstance)
- {
- if(GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_NETHER_DOOR)))
- Door->SetGoState(GO_STATE_ACTIVE);
- }
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_NETHER_DOOR), true);
}
void EnterCombat(Unit *who)
@@ -247,10 +241,7 @@ struct TRINITY_DLL_DECL boss_malchezaarAI : public ScriptedAI
DoScriptText(SAY_AGGRO, m_creature);
if(pInstance)
- {
- if(GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_NETHER_DOOR)))
- Door->SetGoState(GO_STATE_READY);
- }
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_NETHER_DOOR), false); // Open the door leading further in
}
void InfernalCleanup()
diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp
index 86f424e6892..269295361e4 100644
--- a/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp
+++ b/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp
@@ -141,9 +141,7 @@ struct TRINITY_DLL_DECL boss_aranAI : public ScriptedAI
{
// Not in progress
pInstance->SetData(DATA_SHADEOFARAN_EVENT, NOT_STARTED);
-
- if(GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_LIBRARY_DOOR)))
- Door->SetGoState(GO_STATE_ACTIVE);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_LIBRARY_DOOR), true);
}
}
@@ -163,9 +161,7 @@ struct TRINITY_DLL_DECL boss_aranAI : public ScriptedAI
if(pInstance)
{
pInstance->SetData(DATA_SHADEOFARAN_EVENT, DONE);
-
- if(GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_LIBRARY_DOOR)))
- Door->SetGoState(GO_STATE_ACTIVE);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_LIBRARY_DOOR), true);
}
}
@@ -181,8 +177,7 @@ struct TRINITY_DLL_DECL boss_aranAI : public ScriptedAI
if(pInstance)
{
pInstance->SetData(DATA_SHADEOFARAN_EVENT, IN_PROGRESS);
- if(GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_LIBRARY_DOOR)))
- Door->SetGoState(GO_STATE_READY);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_LIBRARY_DOOR), false);
}
}
@@ -232,8 +227,7 @@ struct TRINITY_DLL_DECL boss_aranAI : public ScriptedAI
{
if(pInstance)
{
- if(GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_LIBRARY_DOOR)))
- Door->SetGoState(GO_STATE_READY);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_LIBRARY_DOOR), false);
CloseDoorTimer = 0;
}
}else CloseDoorTimer -= diff;
diff --git a/src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp b/src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp
index b8dae7e5035..510ff2f2b81 100644
--- a/src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp
+++ b/src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp
@@ -572,11 +572,9 @@ struct TRINITY_DLL_DECL boss_croneAI : public ScriptedAI
if(pInstance)
{
pInstance->SetData(DATA_OPERA_EVENT, DONE);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT), true);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORRIGHT), true);
- if (GameObject* lDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
- lDoor->SetGoState(GO_STATE_ACTIVE);
- if (GameObject* rDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORRIGHT)))
- rDoor->SetGoState(GO_STATE_ACTIVE);
if (GameObject* pSideEntrance = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
}
@@ -767,11 +765,9 @@ struct TRINITY_DLL_DECL boss_bigbadwolfAI : public ScriptedAI
if(pInstance)
{
pInstance->SetData(DATA_OPERA_EVENT, DONE);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT), true);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORRIGHT), true);
- if (GameObject* lDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
- lDoor->SetGoState(GO_STATE_ACTIVE);
- if (GameObject* rDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORRIGHT)))
- rDoor->SetGoState(GO_STATE_ACTIVE);
if (GameObject* pSideEntrance = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
}
@@ -1014,11 +1010,8 @@ struct TRINITY_DLL_DECL boss_julianneAI : public ScriptedAI
if(pInstance)
{
pInstance->SetData(DATA_OPERA_EVENT, DONE);
-
- if (GameObject* lDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
- lDoor->SetGoState(GO_STATE_ACTIVE);
- if (GameObject* rDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORRIGHT)))
- rDoor->SetGoState(GO_STATE_ACTIVE);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT), true);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORRIGHT), true);
if (GameObject* pSideEntrance = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
}
@@ -1103,11 +1096,9 @@ struct TRINITY_DLL_DECL boss_romuloAI : public ScriptedAI
if (pInstance)
{
pInstance->SetData(DATA_OPERA_EVENT, DONE);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT), true);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORRIGHT), true);
- if (GameObject* lDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
- lDoor->SetGoState(GO_STATE_ACTIVE);
- if (GameObject* rDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORRIGHT)))
- rDoor->SetGoState(GO_STATE_ACTIVE);
if (GameObject* pSideEntrance = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
}
diff --git a/src/bindings/scripts/scripts/zone/karazhan/instance_karazhan.cpp b/src/bindings/scripts/scripts/zone/karazhan/instance_karazhan.cpp
index 984c2a26416..554d8392b69 100644
--- a/src/bindings/scripts/scripts/zone/karazhan/instance_karazhan.cpp
+++ b/src/bindings/scripts/scripts/zone/karazhan/instance_karazhan.cpp
@@ -72,7 +72,7 @@ struct TRINITY_DLL_DECL instance_karazhan : public ScriptedInstance
for (uint8 i = 0; i < ENCOUNTERS; ++i)
Encounters[i] = NOT_STARTED;
- OperaEvent = urand(1,3); // 1 - OZ, 2 - HOOD, 3 - RAJ, this never gets altered.
+ OperaEvent = urand(1,3); // 1 - OZ, 2 - HOOD, 3 - RAJ, this never gets altered.
OzDeathCount = 0;
CurtainGUID = 0;
diff --git a/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp b/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp
index 85f1940da65..10e2a54cbaa 100644
--- a/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp
+++ b/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp
@@ -148,11 +148,8 @@ struct TRINITY_DLL_DECL npc_barnesAI : public npc_escortAI
Event = pInstance->GetData(DATA_OPERA_PERFORMANCE);
- if (GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
- Door->SetGoState(GO_STATE_READY);
-
- if (GameObject* Curtain = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_CURTAINS)))
- Curtain->SetGoState(GO_STATE_READY);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT), false);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_CURTAINS), false);
}
}
@@ -179,10 +176,8 @@ struct TRINITY_DLL_DECL npc_barnesAI : public npc_escortAI
case 5:
if(pInstance)
- {
- if (GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
- Door->SetGoState(GO_STATE_READY);
- }
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT), false);
+
IsBeingEscorted = false;
PerformanceReady = true;
m_creature->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
@@ -314,9 +309,7 @@ struct TRINITY_DLL_DECL npc_barnesAI : public npc_escortAI
return;
pInstance->SetData(DATA_OPERA_EVENT, IN_PROGRESS);
-
- if (GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
- Door->SetGoState(GO_STATE_ACTIVE);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT), true);
m_creature->CastSpell(m_creature, SPELL_TUXEDO, true);
m_creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp
index 80ee4efb55c..b34e7124371 100644
--- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp
+++ b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp
@@ -130,10 +130,9 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI
if (pInstance)
{
pInstance->SetData(DATA_KAELTHAS_EVENT, NOT_STARTED);
-
- if (GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_KAEL_DOOR)))
- Door->SetGoState(GO_STATE_ACTIVE); // Open the big encounter door. Close it in Aggro and open it only in JustDied(and here)
- // Small door opened after event are expected to be closed by default
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_KAEL_DOOR), true);
+ // Open the big encounter door. Close it in Aggro and open it only in JustDied(and here)
+ // Small door opened after event are expected to be closed by default
}
}
@@ -143,9 +142,9 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI
if (!pInstance)
return;
-
- if (GameObject* EncounterDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_KAEL_DOOR)))
- EncounterDoor->SetGoState(GO_STATE_ACTIVE); // Open the encounter door
+
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_KAEL_DOOR), true);
+ // Open the encounter door
}
void DamageTaken(Unit* done_by, uint32 &damage)
@@ -158,9 +157,9 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI
{
if (!pInstance)
return;
-
- if (GameObject* EncounterDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_KAEL_DOOR)))
- EncounterDoor->SetGoState(GO_STATE_READY); //Close the encounter door, open it in JustDied/Reset
+
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_KAEL_DOOR), false);
+ //Close the encounter door, open it in JustDied/Reset
}
void MoveInLineOfSight(Unit *who)
@@ -350,10 +349,8 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI
if (pInstance)
{
- if (GameObject* KaelLeft = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_KAEL_STATUE_LEFT)))
- KaelLeft->SetGoState(GO_STATE_ACTIVE);
- if (GameObject* KaelRight = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_KAEL_STATUE_RIGHT)))
- KaelRight->SetGoState(GO_STATE_ACTIVE);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_KAEL_STATUE_LEFT), true);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_KAEL_STATUE_RIGHT), true);
}
}else
{
diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp
index 44e01ef1a83..7fc4d3b2e64 100644
--- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp
+++ b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp
@@ -105,8 +105,8 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI
}
}
- if (GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_SELIN_ENCOUNTER_DOOR)))
- Door->SetGoState(GO_STATE_ACTIVE); // Open the big encounter door. Close it in Aggro and open it only in JustDied(and here)
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_SELIN_ENCOUNTER_DOOR), true);
+ // Open the big encounter door. Close it in Aggro and open it only in JustDied(and here)
// Small door opened after event are expected to be closed by default
// Set Inst data for encounter
pInstance->SetData(DATA_SELIN_EVENT, NOT_STARTED);
@@ -185,11 +185,9 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI
DoScriptText(SAY_AGGRO, m_creature);
if (pInstance)
- {
- if (GameObject* EncounterDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_SELIN_ENCOUNTER_DOOR)))
- EncounterDoor->SetGoState(GO_STATE_READY); //Close the encounter door, open it in JustDied/Reset
- }
- }
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_SELIN_ENCOUNTER_DOOR), false);
+ //Close the encounter door, open it in JustDied/Reset
+ }
void KilledUnit(Unit* victim)
{
@@ -230,13 +228,8 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI
return;
pInstance->SetData(DATA_SELIN_EVENT, DONE); // Encounter complete!
-
- if (GameObject* EncounterDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_SELIN_ENCOUNTER_DOOR)))
- EncounterDoor->SetGoState(GO_STATE_ACTIVE); // Open the encounter door
-
- if (GameObject* ContinueDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_SELIN_DOOR)))
- ContinueDoor->SetGoState(GO_STATE_ACTIVE); // Open the door leading further in
-
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_SELIN_ENCOUNTER_DOOR), true); // Open the encounter door
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_SELIN_DOOR), true); // Open the door leading further in
ShatterRemainingCrystals();
}
diff --git a/src/bindings/scripts/scripts/zone/razorfen_kraul/instance_razorfen_kraul.cpp b/src/bindings/scripts/scripts/zone/razorfen_kraul/instance_razorfen_kraul.cpp
index 679358c6ceb..d796e125ed8 100644
--- a/src/bindings/scripts/scripts/zone/razorfen_kraul/instance_razorfen_kraul.cpp
+++ b/src/bindings/scripts/scripts/zone/razorfen_kraul/instance_razorfen_kraul.cpp
@@ -66,20 +66,6 @@ struct TRINITY_DLL_DECL instance_razorfen_kraul : public ScriptedInstance
}
}
- void HandleGameObject(uint64 guid, uint32 state)
- {
- Player *player = GetPlayerInMap();
-
- if (!player || !guid)
- {
- debug_log("SD2: Instance Razorfen Kraul: HandleGameObject fail");
- return;
- }
-
- if (GameObject *go = instance->GetGameObject(guid))
- go->SetGoState(GOState(state));
- }
-
void Update(uint32 diff)
{
if (WardCheck_Timer < diff)
diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/instance_scarlet_monastery.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/instance_scarlet_monastery.cpp
index 2a1dafa01fb..280a2869948 100644
--- a/src/bindings/scripts/scripts/zone/scarlet_monastery/instance_scarlet_monastery.cpp
+++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/instance_scarlet_monastery.cpp
@@ -90,13 +90,12 @@ struct TRINITY_DLL_DECL instance_scarlet_monastery : public ScriptedInstance
{
switch(type)
{
- case TYPE_MOGRAINE_AND_WHITE_EVENT: Encounter[0] = data; break;
+ case TYPE_MOGRAINE_AND_WHITE_EVENT:
+ Encounter[0] = data;
+ break;
case GAMEOBJECT_PUMPKIN_SHRINE:
- {
- GameObject *Shrine = instance->GetGameObject(PumpkinShrineGUID);
- if(Shrine)
- Shrine->SetGoState(GO_STATE_READY);
- }break;
+ HandleGameObject(PumpkinShrineGUID, false);
+ break;
case DATA_HORSEMAN_EVENT:
if (data == DONE)
{
@@ -107,9 +106,7 @@ struct TRINITY_DLL_DECL instance_scarlet_monastery : public ScriptedInstance
add->DealDamage(add, add->GetMaxHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
}
HorsemanAdds.clear();
- GameObject *Shrine = instance->GetGameObject(PumpkinShrineGUID);
- if(Shrine)
- Shrine->SetGoState(GO_STATE_READY);
+ HandleGameObject(PumpkinShrineGUID, false);
}
break;
}
diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp
index 2be8a7fdb39..130a247736c 100644
--- a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp
+++ b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp
@@ -305,8 +305,7 @@ struct TRINITY_DLL_DECL npc_warden_mellicharAI : public ScriptedAI
if( pInstance )
{
pInstance->SetData(TYPE_HARBINGERSKYRISS,IN_PROGRESS);
- if (GameObject* Sphere = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_SPHERE_SHIELD)))
- Sphere->SetGoState(GO_STATE_READY);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_SPHERE_SHIELD), false);
IsRunning = true;
}
}
@@ -346,8 +345,7 @@ struct TRINITY_DLL_DECL npc_warden_mellicharAI : public ScriptedAI
case 2:
DoCast(m_creature,SPELL_TARGET_ALPHA);
pInstance->SetData(TYPE_WARDEN_1,IN_PROGRESS);
- if (GameObject *Sphere = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_SPHERE_SHIELD)))
- Sphere->SetGoState(GO_STATE_READY);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_SPHERE_SHIELD), false);
break;
case 3:
DoCast(m_creature,SPELL_TARGET_BETA);
diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp
index e0488bca7ce..03a7e588868 100644
--- a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp
+++ b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp
@@ -161,9 +161,8 @@ struct TRINITY_DLL_DECL boss_harbinger_skyrissAI : public ScriptedAI
switch( Intro_Phase )
{
case 1:
- DoScriptText(SAY_INTRO, m_creature);
- if (GameObject* Sphere = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_SPHERE_SHIELD)))
- Sphere->SetGoState(GO_STATE_ACTIVE);
+ DoScriptText(SAY_INTRO, m_creature);
+ pInstance->HandleGameObject(pInstance->GetData64(DATA_SPHERE_SHIELD), true);
++Intro_Phase;
Intro_Timer = 25000;
break;
diff --git a/src/bindings/scripts/scripts/zone/zulaman/instance_zulaman.cpp b/src/bindings/scripts/scripts/zone/zulaman/instance_zulaman.cpp
index 22477bb4b4f..1d8a3faadf3 100644
--- a/src/bindings/scripts/scripts/zone/zulaman/instance_zulaman.cpp
+++ b/src/bindings/scripts/scripts/zone/zulaman/instance_zulaman.cpp
@@ -137,12 +137,6 @@ struct TRINITY_DLL_DECL instance_zulaman : public ScriptedInstance
CheckInstanceStatus();
}
- void OpenDoor(uint64 DoorGUID, bool open)
- {
- if(GameObject *Door = instance->GetGameObject(DoorGUID))
- Door->SetGoState(open ? GO_STATE_ACTIVE : GO_STATE_READY);
- }
-
void SummonHostage(uint8 num)
{
if(!QuestMinute)
@@ -166,10 +160,10 @@ struct TRINITY_DLL_DECL instance_zulaman : public ScriptedInstance
void CheckInstanceStatus()
{
if(BossKilled >= 4)
- OpenDoor(HexLordGateGUID, true);
+ HandleGameObject(HexLordGateGUID, true);
if(BossKilled >= 5)
- OpenDoor(ZulJinGateGUID, true);
+ HandleGameObject(ZulJinGateGUID, true);
}
void UpdateWorldState(uint32 field, uint32 value)
@@ -224,7 +218,7 @@ struct TRINITY_DLL_DECL instance_zulaman : public ScriptedInstance
break;
case DATA_AKILZONEVENT:
Encounters[1] = data;
- OpenDoor(AkilzonDoorGUID, data != IN_PROGRESS);
+ HandleGameObject(AkilzonDoorGUID, data != IN_PROGRESS);
if(data == DONE)
{
if(QuestMinute)
@@ -241,19 +235,19 @@ struct TRINITY_DLL_DECL instance_zulaman : public ScriptedInstance
break;
case DATA_HALAZZIEVENT:
Encounters[3] = data;
- OpenDoor(HalazziDoorGUID, data != IN_PROGRESS);
+ HandleGameObject(HalazziDoorGUID, data != IN_PROGRESS);
if(data == DONE) SummonHostage(3);
break;
case DATA_HEXLORDEVENT:
Encounters[4] = data;
if(data == IN_PROGRESS)
- OpenDoor(HexLordGateGUID, false);
+ HandleGameObject(HexLordGateGUID, false);
else if(data == NOT_STARTED)
CheckInstanceStatus();
break;
case DATA_ZULJINEVENT:
Encounters[5] = data;
- OpenDoor(ZulJinDoorGUID, data != IN_PROGRESS);
+ HandleGameObject(ZulJinDoorGUID, data != IN_PROGRESS);
break;
case DATA_CHESTLOOTED:
ChestLooted++;