*Clean up scripts, remove all per script declared functions to toggle gameobject state and use InstanceData::HandleGameObject instead.
--HG-- branch : trunk
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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:
|
||||
|
||||
+3
-9
@@ -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;
|
||||
|
||||
+6
-12
@@ -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;
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
+6
-17
@@ -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)
|
||||
|
||||
+20
-26
@@ -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();
|
||||
}
|
||||
|
||||
+3
-8
@@ -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)
|
||||
|
||||
+1
-6
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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++;
|
||||
|
||||
Reference in New Issue
Block a user