Merge [SD2]

r1016 Restore build and simplify code.

--HG--
branch : trunk
This commit is contained in:
Kudlaty
2009-06-17 02:02:38 +02:00
parent 9bb07ab5a9
commit eba1debc3e
27 changed files with 71 additions and 94 deletions
@@ -24,7 +24,7 @@ EndScriptData */
#include "precompiled.h"
#include "def_black_temple.h"
#define GETGO(obj, guid) GameObject* obj = GameObject::GetGameObject(*m_creature, guid)
#define GETGO(obj, guid) GameObject* obj = pInstance->instance->GetGameObject(pInstance->GetData64(guid))
#define GETUNIT(unit, guid) Unit* unit = Unit::GetUnit(*m_creature, guid)
#define GETCRE(cre, guid) Creature* cre = Unit::GetCreature(*m_creature, guid)
#define HPPCT(unit) unit->GetHealth()*100 / unit->GetMaxHealth()
@@ -459,9 +459,8 @@ struct TRINITY_DLL_DECL boss_illidan_stormrageAI : public ScriptedAI
for(uint8 i = DATA_GAMEOBJECT_ILLIDAN_DOOR_R; i < DATA_GAMEOBJECT_ILLIDAN_DOOR_L + 1; ++i)
{
GameObject* Door = GameObject::GetGameObject((*m_creature), pInstance->GetData64(i));
if(Door)
Door->SetGoState(GO_STATE_ACTIVE); // Open Doors
if (GameObject* pDoor = pInstance->instance->GetGameObject(pInstance->GetData64(i)))
pDoor->SetGoState(GO_STATE_ACTIVE); // Open Doors
}
}
@@ -1630,7 +1629,7 @@ struct TRINITY_DLL_DECL cage_trap_triggerAI : public ScriptedAI
DespawnTimer = 5000;
if(who->HasAura(SPELL_ENRAGE))
who->RemoveAurasDueToSpell(SPELL_ENRAGE); // Dispel his enrage
//if(GameObject* CageTrap = GameObject::GetGameObject(*m_creature, CageTrapGUID))
//if(GameObject* CageTrap = pInstance->instance->GetGameObject(pInstance->GetData64(CageTrapGUID)))
// CageTrap->SetLootState(GO_JUST_DEACTIVATED);
}
}
@@ -105,7 +105,7 @@ struct TRINITY_DLL_DECL boss_supremusAI : public ScriptedAI
void ToggleDoors(bool close)
{
if(GameObject* Doors = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_GAMEOBJECT_SUPREMUS_DOORS)))
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
@@ -1098,7 +1098,7 @@ struct TRINITY_DLL_DECL npc_rocknotAI : public npc_escortAI
void DoGo(uint32 id, uint32 state)
{
if (GameObject *go = GameObject::GetGameObject(*m_creature,pInstance->GetData64(id)))
if (GameObject *go = pInstance->instance->GetGameObject(pInstance->GetData64(id)))
go->SetGoState((GOState)state);
}
@@ -728,8 +728,7 @@ void hyjalAI::DeSpawnVeins()
if(!ai)return;
for (uint8 i = 0; i<7; i++)
{
GameObject* gem = GameObject::GetGameObject((*m_creature), ai->VeinGUID[i]);
if(gem)
if (GameObject* gem = pInstance->instance->GetGameObject(pInstance->GetData64(ai->VeinGUID[i])))
gem->RemoveFromWorld();
}
}else if (Faction)
@@ -740,8 +739,7 @@ void hyjalAI::DeSpawnVeins()
if(!ai)return;
for (uint8 i = 7; i<14; i++)
{
GameObject* gem = GameObject::GetGameObject((*m_creature), ai->VeinGUID[i]);
if(gem)
if(GameObject* gem = pInstance->instance->GetGameObject(pInstance->GetData64(ai->VeinGUID[i])))
gem->RemoveFromWorld();
}
}
@@ -140,12 +140,12 @@ struct TRINITY_DLL_DECL instance_steam_vault : public ScriptedInstance
case TYPE_HYDROMANCER_THESPIA:
if (data == SPECIAL)
{
if (GameObject *_go = GameObject::GetGameObject(*player,AccessPanelHydro))
if (GameObject *_go = instance->GetGameObject(AccessPanelHydro))
_go->SetGoState(GO_STATE_ACTIVE);
if (GetData(TYPE_MEKGINEER_STEAMRIGGER) == SPECIAL)
{
if (GameObject *_go = GameObject::GetGameObject(*player,MainChambersDoor))
if (GameObject *_go = instance->GetGameObject(MainChambersDoor))
_go->SetGoState(GO_STATE_ACTIVE);
}
debug_log("TSCR: Instance Steamvault: Access panel used.");
@@ -155,12 +155,12 @@ struct TRINITY_DLL_DECL instance_steam_vault : public ScriptedInstance
case TYPE_MEKGINEER_STEAMRIGGER:
if (data == SPECIAL)
{
if (GameObject *_go = GameObject::GetGameObject(*player,AccessPanelMek))
if (GameObject *_go = instance->GetGameObject(AccessPanelMek))
_go->SetGoState(GO_STATE_ACTIVE);
if (GetData(TYPE_HYDROMANCER_THESPIA) == SPECIAL)
{
if (GameObject *_go = GameObject::GetGameObject(*player,MainChambersDoor))
if (GameObject *_go = instance->GetGameObject(MainChambersDoor))
_go->SetGoState(GO_STATE_ACTIVE);
}
debug_log("TSCR: Instance Steamvault: Access panel used.");
@@ -281,8 +281,7 @@ void npc_unworthy_initiateAI::UpdateAI(const uint32 diff)
Creature* trigger = m_creature->SummonCreature(29521,x,y,z,0,TEMPSUMMON_MANUAL_DESPAWN,100);
if(trigger)
{
GameObject* go_prison = GameObject::GetGameObject((*m_creature),nearest_prison);
if(go_prison)
if(GameObject* go_prison = GameObject::GetGameObject((*m_creature),nearest_prison))
go_prison->ResetDoorOrButton();
CAST_AI(npc_unworthy_initiate_anchorAI, trigger->AI())->SetTarget(m_creature->GetGUID());
@@ -111,8 +111,7 @@ struct TRINITY_DLL_DECL boss_gruulAI : public ScriptedAI
{
pInstance->SetData(DATA_GRUULEVENT, DONE);
GameObject* EncounterDoor = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GRUULDOOR));
if (EncounterDoor)
if (GameObject* EncounterDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GRUULDOOR)))
EncounterDoor->SetGoState(GO_STATE_ACTIVE); // Open the encounter door
}
}
@@ -111,7 +111,7 @@ struct TRINITY_DLL_DECL boss_broggokAI : public ScriptedAI
{
if (pInstance)
{
if (GameObject* Doors = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DOOR)))
if (GameObject* Doors = pInstance->instance->GetGameObject(pInstance->GetData64(DOOR)))
{
if (close == 1)
Doors->SetGoState(GO_STATE_READY); // Closed
@@ -261,7 +261,7 @@ struct TRINITY_DLL_DECL boss_kelidan_the_breakerAI : public ScriptedAI
{
if (pInstance)
{
if (GameObject* Doors = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DOOR)))
if (GameObject* Doors = pInstance->instance->GetGameObject(pInstance->GetData64(DOOR)))
{
if (close == 1)
Doors->SetGoState(GO_STATE_READY); // Closed
@@ -139,7 +139,7 @@ struct TRINITY_DLL_DECL boss_the_makerAI : public ScriptedAI
{
if (pInstance)
{
if (GameObject* Doors = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DOOR)))
if (GameObject* Doors = pInstance->instance->GetGameObject(pInstance->GetData64(DOOR)))
{
if (close == 1)
Doors->SetGoState(GO_STATE_READY); // Closed
@@ -79,7 +79,7 @@ struct TRINITY_DLL_DECL instance_ramparts : public ScriptedInstance
else
uiChest = m_uiChestNGUID;
if (GameObject* pGo = GameObject::GetGameObject(*pPlayer,uiChest))
if (GameObject* pGo = instance->GetGameObject(uiChest))
{
if (pGo->isSpawned())
return;
@@ -235,7 +235,7 @@ struct TRINITY_DLL_DECL boss_grand_warlock_nethekurseAI : public ScriptedAI
if (pInstance->GetData64(DATA_NETHEKURSE_DOOR))
{
if (GameObject *Door = GameObject::GetGameObject(*m_creature,pInstance->GetData64(DATA_NETHEKURSE_DOOR)))
if (GameObject *Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_NETHEKURSE_DOOR)))
Door->SetGoState(GO_STATE_ACTIVE);
}
}
@@ -138,9 +138,9 @@ struct TRINITY_DLL_DECL boss_nightbaneAI : public ScriptedAI
void HandleTerraceDoors(bool open)
{
if(GameObject *Door = GameObject::GetGameObject((*m_creature),pInstance->GetData64(DATA_MASTERS_TERRACE_DOOR_1)))
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 = GameObject::GetGameObject((*m_creature),pInstance->GetData64(DATA_MASTERS_TERRACE_DOOR_2)))
if(GameObject *Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_MASTERS_TERRACE_DOOR_2)))
Door->SetGoState(open ? GO_STATE_ACTIVE : GO_STATE_READY);
}
@@ -208,11 +208,8 @@ struct TRINITY_DLL_DECL boss_malchezaarAI : public ScriptedAI
if(pInstance)
{
GameObject* Door = GameObject::GetGameObject((*m_creature),pInstance->GetData64(DATA_GAMEOBJECT_NETHER_DOOR));
if(Door)
{
if(GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_NETHER_DOOR)))
Door->SetGoState(GO_STATE_ACTIVE);
}
}
}
@@ -240,11 +237,8 @@ struct TRINITY_DLL_DECL boss_malchezaarAI : public ScriptedAI
if(pInstance)
{
GameObject* Door = GameObject::GetGameObject((*m_creature),pInstance->GetData64(DATA_GAMEOBJECT_NETHER_DOOR));
if(Door)
{
if(GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_NETHER_DOOR)))
Door->SetGoState(GO_STATE_ACTIVE);
}
}
}
@@ -254,11 +248,8 @@ struct TRINITY_DLL_DECL boss_malchezaarAI : public ScriptedAI
if(pInstance)
{
GameObject* Door = GameObject::GetGameObject((*m_creature),pInstance->GetData64(DATA_GAMEOBJECT_NETHER_DOOR));
if(Door)
{
if(GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_NETHER_DOOR)))
Door->SetGoState(GO_STATE_READY);
}
}
}
@@ -142,7 +142,7 @@ struct TRINITY_DLL_DECL boss_aranAI : public ScriptedAI
// Not in progress
pInstance->SetData(DATA_SHADEOFARAN_EVENT, NOT_STARTED);
if(GameObject* Door = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_GAMEOBJECT_LIBRARY_DOOR)))
if(GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_LIBRARY_DOOR)))
Door->SetGoState(GO_STATE_ACTIVE);
}
}
@@ -164,7 +164,7 @@ struct TRINITY_DLL_DECL boss_aranAI : public ScriptedAI
{
pInstance->SetData(DATA_SHADEOFARAN_EVENT, DONE);
if(GameObject* Door = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_GAMEOBJECT_LIBRARY_DOOR)))
if(GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_LIBRARY_DOOR)))
Door->SetGoState(GO_STATE_ACTIVE);
}
}
@@ -181,7 +181,7 @@ struct TRINITY_DLL_DECL boss_aranAI : public ScriptedAI
if(pInstance)
{
pInstance->SetData(DATA_SHADEOFARAN_EVENT, IN_PROGRESS);
if(GameObject* Door = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_GAMEOBJECT_LIBRARY_DOOR)))
if(GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_LIBRARY_DOOR)))
Door->SetGoState(GO_STATE_READY);
}
}
@@ -232,7 +232,7 @@ struct TRINITY_DLL_DECL boss_aranAI : public ScriptedAI
{
if(pInstance)
{
if(GameObject* Door = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_GAMEOBJECT_LIBRARY_DOOR)))
if(GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_LIBRARY_DOOR)))
Door->SetGoState(GO_STATE_READY);
CloseDoorTimer = 0;
}
@@ -573,11 +573,11 @@ struct TRINITY_DLL_DECL boss_croneAI : public ScriptedAI
{
pInstance->SetData(DATA_OPERA_EVENT, DONE);
if (GameObject* lDoor = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
if (GameObject* lDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
lDoor->SetGoState(GO_STATE_ACTIVE);
if (GameObject* rDoor = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORRIGHT)))
if (GameObject* rDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORRIGHT)))
rDoor->SetGoState(GO_STATE_ACTIVE);
if (GameObject* pSideEntrance = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
if (GameObject* pSideEntrance = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
}
}
@@ -768,11 +768,11 @@ struct TRINITY_DLL_DECL boss_bigbadwolfAI : public ScriptedAI
{
pInstance->SetData(DATA_OPERA_EVENT, DONE);
if (GameObject* lDoor = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
if (GameObject* lDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
lDoor->SetGoState(GO_STATE_ACTIVE);
if (GameObject* rDoor = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORRIGHT)))
if (GameObject* rDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORRIGHT)))
rDoor->SetGoState(GO_STATE_ACTIVE);
if (GameObject* pSideEntrance = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
if (GameObject* pSideEntrance = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
}
}
@@ -1015,11 +1015,11 @@ struct TRINITY_DLL_DECL boss_julianneAI : public ScriptedAI
{
pInstance->SetData(DATA_OPERA_EVENT, DONE);
if (GameObject* lDoor = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
if (GameObject* lDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
lDoor->SetGoState(GO_STATE_ACTIVE);
if (GameObject* rDoor = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORRIGHT)))
if (GameObject* rDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORRIGHT)))
rDoor->SetGoState(GO_STATE_ACTIVE);
if (GameObject* pSideEntrance = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
if (GameObject* pSideEntrance = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
}
}
@@ -1104,11 +1104,11 @@ struct TRINITY_DLL_DECL boss_romuloAI : public ScriptedAI
{
pInstance->SetData(DATA_OPERA_EVENT, DONE);
if (GameObject* lDoor = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
if (GameObject* lDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
lDoor->SetGoState(GO_STATE_ACTIVE);
if (GameObject* rDoor = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORRIGHT)))
if (GameObject* rDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORRIGHT)))
rDoor->SetGoState(GO_STATE_ACTIVE);
if (GameObject* pSideEntrance = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
if (GameObject* pSideEntrance = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
}
}
@@ -148,10 +148,10 @@ struct TRINITY_DLL_DECL npc_barnesAI : public npc_escortAI
Event = pInstance->GetData(DATA_OPERA_PERFORMANCE);
if (GameObject* Door = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
if (GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
Door->SetGoState(GO_STATE_READY);
if (GameObject* Curtain = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GAMEOBJECT_CURTAINS)))
if (GameObject* Curtain = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_CURTAINS)))
Curtain->SetGoState(GO_STATE_READY);
}
}
@@ -180,7 +180,7 @@ struct TRINITY_DLL_DECL npc_barnesAI : public npc_escortAI
case 5:
if(pInstance)
{
if (GameObject* Door = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
if (GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
Door->SetGoState(GO_STATE_READY);
}
IsBeingEscorted = false;
@@ -261,7 +261,7 @@ struct TRINITY_DLL_DECL npc_barnesAI : public npc_escortAI
if(!pInstance)
return;
if (GameObject* Curtain = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GAMEOBJECT_CURTAINS)))
if (GameObject* Curtain = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_CURTAINS)))
Curtain->SetGoState(GO_STATE_ACTIVE);
CurtainTimer = 0;
@@ -315,7 +315,7 @@ struct TRINITY_DLL_DECL npc_barnesAI : public npc_escortAI
pInstance->SetData(DATA_OPERA_EVENT, IN_PROGRESS);
if (GameObject* Door = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
if (GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_GAMEOBJECT_STAGEDOORLEFT)))
Door->SetGoState(GO_STATE_ACTIVE);
m_creature->CastSpell(m_creature, SPELL_TUXEDO, true);
@@ -130,8 +130,7 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI
if (pInstance)
pInstance->SetData(DATA_KAELTHAS_EVENT, 0);
GameObject* Door = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_KAEL_DOOR));
if (Door)
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
}
@@ -139,8 +138,7 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI
void JustDied(Unit *killer)
{
DoScriptText(SAY_DEATH, m_creature);
GameObject* EncounterDoor = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_KAEL_DOOR));
if (EncounterDoor)
if (GameObject* EncounterDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_KAEL_DOOR)))
EncounterDoor->SetGoState(GO_STATE_ACTIVE); // Open the encounter door
}
@@ -154,8 +152,7 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI
{
if (pInstance)
{
GameObject* EncounterDoor = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_KAEL_DOOR));
if (EncounterDoor)
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
}
}
@@ -347,10 +344,10 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI
if (pInstance)
{
GameObject* KaelLeft = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_KAEL_STATUE_LEFT));
if (KaelLeft) KaelLeft->SetGoState(GO_STATE_ACTIVE);
GameObject* KaelRight = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_KAEL_STATUE_RIGHT));
if (KaelRight) KaelRight->SetGoState(GO_STATE_ACTIVE);
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);
}
}else
{
@@ -231,7 +231,7 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI
pInstance->SetData(DATA_DELRISSA_EVENT, DONE);
if (GameObject* Door = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_DELRISSA_DOOR)))
if (GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_DELRISSA_DOOR)))
Door->SetGoState(GO_STATE_ACTIVE);
}
@@ -105,8 +105,7 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI
}
}
GameObject* Door = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_SELIN_ENCOUNTER_DOOR));
if (Door)
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)
// Small door opened after event are expected to be closed by default
// Set Inst data for encounter
@@ -187,8 +186,7 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI
if (pInstance)
{
GameObject* EncounterDoor = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_SELIN_ENCOUNTER_DOOR));
if (EncounterDoor)
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
}
}
@@ -236,12 +234,10 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI
pInstance->SetData(DATA_SELIN_EVENT, DONE); // Encounter complete!
GameObject* EncounterDoor = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_SELIN_ENCOUNTER_DOOR));
if (EncounterDoor)
if (GameObject* EncounterDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_SELIN_ENCOUNTER_DOOR)))
EncounterDoor->SetGoState(GO_STATE_ACTIVE); // Open the encounter door
GameObject* ContinueDoor = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_SELIN_DOOR));
if (ContinueDoor)
if (GameObject* ContinueDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_SELIN_DOOR)))
ContinueDoor->SetGoState(GO_STATE_ACTIVE); // Open the door leading further in
ShatterRemainingCrystals();
@@ -91,7 +91,7 @@ struct TRINITY_DLL_DECL boss_vexallusAI : public ScriptedAI
{
pInstance->SetData(DATA_VEXALLUS_EVENT, DONE);
if (GameObject* Door = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_VEXALLUS_DOOR)))
if (GameObject* Door = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_VEXALLUS_DOOR)))
Door->SetGoState(GO_STATE_ACTIVE);
}
}
@@ -76,7 +76,7 @@ struct TRINITY_DLL_DECL instance_razorfen_kraul : public ScriptedInstance
return;
}
if (GameObject *go = GameObject::GetGameObject(*player,guid))
if (GameObject *go = instance->GetGameObject(guid))
go->SetGoState(GOState(state));
}
@@ -136,12 +136,10 @@ struct TRINITY_DLL_DECL instance_stratholme : public ScriptedInstance
//if withRestoreTime true, then newState will be ignored and GO should be restored to original state after 10 seconds
void UpdateGoState(uint64 goGuid, uint32 newState, bool withRestoreTime)
{
Player *player = GetPlayerInMap();
if (!player || !goGuid)
if (!goGuid)
return;
if (GameObject *go = GameObject::GetGameObject(*player, goGuid))
if (GameObject *go = instance->GetGameObject(goGuid))
{
if (withRestoreTime)
go->UseDoorOrButton(10);
@@ -136,8 +136,8 @@ struct TRINITY_DLL_DECL boss_kalecgosAI : public ScriptedAI
Unit *Sath = Unit::GetUnit(*m_creature,SathGUID);
if(Sath) CAST_CRE(Sath)->AI()->EnterEvadeMode();
GameObject *Door = GameObject::GetGameObject(*m_creature, DoorGUID);
if(Door) Door->SetLootState(GO_JUST_DEACTIVATED);
if(GameObject *Door = pInstance->instance->GetGameObject(pInstance->GetData64(DoorGUID)))
Door->SetLootState(GO_JUST_DEACTIVATED);
m_creature->setFaction(14);
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE + UNIT_FLAG_NOT_SELECTABLE);
@@ -169,8 +169,8 @@ struct TRINITY_DLL_DECL boss_kalecgosAI : public ScriptedAI
{
m_creature->SetStandState(UNIT_STAND_STATE_STAND);
DoScriptText(SAY_EVIL_AGGRO, m_creature);
GameObject *Door = GameObject::GetGameObject(*m_creature, DoorGUID);
if(Door) Door->SetLootState(GO_ACTIVATED);
if(GameObject *Door = pInstance->instance->GetGameObject(pInstance->GetData64(DoorGUID)))
Door->SetLootState(GO_ACTIVATED);
DoZoneInCombat();
if(pInstance)
@@ -544,8 +544,8 @@ void boss_kalecgosAI::UpdateAI(const uint32 diff)
m_creature->RemoveAllAuras();
m_creature->DeleteThreatList();
m_creature->CombatStop();
GameObject *Door = GameObject::GetGameObject(*m_creature, DoorGUID);
if(Door) Door->SetLootState(GO_JUST_DEACTIVATED);
if(GameObject *Door = pInstance->instance->GetGameObject(pInstance->GetData64(DoorGUID)))
Door->SetLootState(GO_JUST_DEACTIVATED);
TalkSequence++;
}
if(TalkTimer <= diff)
@@ -337,7 +337,7 @@ struct TRINITY_DLL_DECL boss_kalecgos_kjAI : public ScriptedAI
return;
uint8 i = 0;
for(std::list<GameObject*>::iterator itr = orbList.begin(); itr != orbList.end(); ++itr, ++i){
Orb[i] = GameObject::GetGameObject(*m_creature, (*itr)->GetGUID());
Orb[i] = pInstance->instance->GetGameObject(pInstance->GetData64((*itr)->GetGUID()));
}
}
@@ -305,7 +305,7 @@ struct TRINITY_DLL_DECL npc_warden_mellicharAI : public ScriptedAI
if( pInstance )
{
pInstance->SetData(TYPE_HARBINGERSKYRISS,IN_PROGRESS);
if (GameObject* Sphere = GameObject::GetGameObject(*m_creature,pInstance->GetData64(DATA_SPHERE_SHIELD)))
if (GameObject* Sphere = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_SPHERE_SHIELD)))
Sphere->SetGoState(GO_STATE_READY);
IsRunning = true;
}
@@ -346,7 +346,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 = GameObject::GetGameObject(*m_creature,pInstance->GetData64(DATA_SPHERE_SHIELD)))
if (GameObject *Sphere = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_SPHERE_SHIELD)))
Sphere->SetGoState(GO_STATE_READY);
break;
case 3:
@@ -162,7 +162,7 @@ struct TRINITY_DLL_DECL boss_harbinger_skyrissAI : public ScriptedAI
{
case 1:
DoScriptText(SAY_INTRO, m_creature);
if (GameObject* Sphere = GameObject::GetGameObject(*m_creature,pInstance->GetData64(DATA_SPHERE_SHIELD)))
if (GameObject* Sphere = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_SPHERE_SHIELD)))
Sphere->SetGoState(GO_STATE_ACTIVE);
++Intro_Phase;
Intro_Timer = 25000;