mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-29 08:33:47 +00:00
feat(Core/Misc): implement ObjectGuid class (port from TC) (#4885)
This commit is contained in:
@@ -67,13 +67,6 @@ public:
|
||||
boss_netherspiteAI(Creature* creature) : ScriptedAI(creature)
|
||||
{
|
||||
instance = creature->GetInstanceScript();
|
||||
|
||||
for (int i = 0; i < 3; ++i)
|
||||
{
|
||||
PortalGUID[i] = 0;
|
||||
BeamTarget[i] = 0;
|
||||
BeamerGUID[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
InstanceScript* instance;
|
||||
@@ -86,9 +79,9 @@ public:
|
||||
uint32 NetherbreathTimer;
|
||||
uint32 EmpowermentTimer;
|
||||
uint32 PortalTimer; // timer for beam checking
|
||||
uint64 PortalGUID[3]; // guid's of portals
|
||||
uint64 BeamerGUID[3]; // guid's of auxiliary beaming portals
|
||||
uint64 BeamTarget[3]; // guid's of portals' current targets
|
||||
ObjectGuid PortalGUID[3]; // guid's of portals
|
||||
ObjectGuid BeamerGUID[3]; // guid's of auxiliary beaming portals
|
||||
ObjectGuid BeamTarget[3]; // guid's of portals' current targets
|
||||
|
||||
bool IsBetween(WorldObject* u1, WorldObject* target, WorldObject* u2) // the in-line checker
|
||||
{
|
||||
@@ -150,8 +143,8 @@ public:
|
||||
portal->DisappearAndDie();
|
||||
if (Creature* portal = ObjectAccessor::GetCreature(*me, BeamerGUID[i]))
|
||||
portal->DisappearAndDie();
|
||||
PortalGUID[i] = 0;
|
||||
BeamTarget[i] = 0;
|
||||
PortalGUID[i].Clear();
|
||||
BeamTarget[i].Clear();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -175,9 +168,9 @@ public:
|
||||
Player* p = i->GetSource();
|
||||
if (p && p->IsAlive() // alive
|
||||
&& (!target || target->GetDistance2d(portal) > p->GetDistance2d(portal)) // closer than current best
|
||||
&& !p->HasAura(PlayerDebuff[j], 0) // not exhausted
|
||||
&& !p->HasAura(PlayerBuff[(j + 1) % 3], 0) // not on another beam
|
||||
&& !p->HasAura(PlayerBuff[(j + 2) % 3], 0)
|
||||
&& !p->HasAura(PlayerDebuff[j]) // not exhausted
|
||||
&& !p->HasAura(PlayerBuff[(j + 1) % 3]) // not on another beam
|
||||
&& !p->HasAura(PlayerBuff[(j + 2) % 3])
|
||||
&& IsBetween(me, p, portal)) // on the beam
|
||||
target = p;
|
||||
}
|
||||
@@ -197,7 +190,7 @@ public:
|
||||
{
|
||||
beamer->CastSpell(target, PortalBeam[j], false);
|
||||
beamer->DisappearAndDie();
|
||||
BeamerGUID[j] = 0;
|
||||
BeamerGUID[j].Clear();
|
||||
}
|
||||
// create new one and start beaming on the target
|
||||
if (Creature* beamer = portal->SummonCreature(PortalID[j], portal->GetPositionX(), portal->GetPositionY(), portal->GetPositionZ(), portal->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN, 60000))
|
||||
@@ -241,7 +234,7 @@ public:
|
||||
|
||||
void HandleDoors(bool open) // Massive Door switcher
|
||||
{
|
||||
if (GameObject* Door = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_GO_MASSIVE_DOOR) ))
|
||||
if (GameObject* Door = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_GO_MASSIVE_DOOR) ))
|
||||
Door->SetGoState(open ? GO_STATE_ACTIVE : GO_STATE_READY);
|
||||
}
|
||||
|
||||
|
||||
@@ -120,10 +120,10 @@ public:
|
||||
|
||||
if (instance)
|
||||
{
|
||||
if (instance->GetData64(DATA_NIGHTBANE) == DONE)
|
||||
if (instance->GetData(DATA_NIGHTBANE) == DONE)
|
||||
me->DisappearAndDie();
|
||||
else
|
||||
instance->SetData64(DATA_NIGHTBANE, NOT_STARTED);
|
||||
instance->SetData(DATA_NIGHTBANE, NOT_STARTED);
|
||||
}
|
||||
|
||||
HandleTerraceDoors(true);
|
||||
@@ -142,15 +142,15 @@ public:
|
||||
{
|
||||
if (instance)
|
||||
{
|
||||
instance->HandleGameObject(instance->GetData64(DATA_MASTERS_TERRACE_DOOR_1), open);
|
||||
instance->HandleGameObject(instance->GetData64(DATA_MASTERS_TERRACE_DOOR_2), open);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_MASTERS_TERRACE_DOOR_1), open);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_MASTERS_TERRACE_DOOR_2), open);
|
||||
}
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*who*/) override
|
||||
{
|
||||
if (instance)
|
||||
instance->SetData64(DATA_NIGHTBANE, IN_PROGRESS);
|
||||
instance->SetData(DATA_NIGHTBANE, IN_PROGRESS);
|
||||
|
||||
HandleTerraceDoors(false);
|
||||
Talk(YELL_AGGRO);
|
||||
@@ -428,7 +428,7 @@ public:
|
||||
if (InstanceScript* pInstance = go->GetInstanceScript())
|
||||
{
|
||||
if (pInstance->GetData(DATA_NIGHTBANE) != DONE && !go->FindNearestCreature(NPC_NIGHTBANE, 40.0f))
|
||||
if (Creature* cr = ObjectAccessor::GetCreature(*player, pInstance->GetData64(DATA_NIGHTBANE)))
|
||||
if (Creature* cr = ObjectAccessor::GetCreature(*player, pInstance->GetGuidData(DATA_NIGHTBANE)))
|
||||
cr->GetMotionMaster()->MovePoint(0, IntroWay[0][0], IntroWay[0][1], IntroWay[0][2]);
|
||||
}
|
||||
|
||||
|
||||
@@ -87,11 +87,11 @@ public:
|
||||
struct netherspite_infernalAI : public ScriptedAI
|
||||
{
|
||||
netherspite_infernalAI(Creature* creature) : ScriptedAI(creature),
|
||||
HellfireTimer(0), CleanupTimer(0), malchezaar(0), point(nullptr) { }
|
||||
HellfireTimer(0), CleanupTimer(0), point(nullptr) { }
|
||||
|
||||
uint32 HellfireTimer;
|
||||
uint32 CleanupTimer;
|
||||
uint64 malchezaar;
|
||||
ObjectGuid malchezaar;
|
||||
InfernalPoint* point;
|
||||
|
||||
void Reset() override { }
|
||||
@@ -176,9 +176,9 @@ public:
|
||||
uint32 InfernalCleanupTimer;
|
||||
uint32 phase;
|
||||
uint32 enfeeble_health[5];
|
||||
uint64 enfeeble_targets[5];
|
||||
ObjectGuid enfeeble_targets[5];
|
||||
|
||||
std::vector<uint64> infernals;
|
||||
GuidVector infernals;
|
||||
std::vector<InfernalPoint*> positions;
|
||||
|
||||
void Initialize()
|
||||
@@ -194,7 +194,7 @@ public:
|
||||
phase = 1;
|
||||
clearweapons();
|
||||
positions.clear();
|
||||
instance->HandleGameObject(instance->GetData64(DATA_GO_NETHER_DOOR), true);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_GO_NETHER_DOOR), true);
|
||||
}
|
||||
|
||||
void clearweapons()
|
||||
@@ -216,7 +216,7 @@ public:
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
Talk(SAY_DEATH);
|
||||
instance->HandleGameObject(instance->GetData64(DATA_GO_NETHER_DOOR), true);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_GO_NETHER_DOOR), true);
|
||||
if (Creature* Axe = me->FindNearestCreature(MALCHEZARS_AXE, 100.0f))
|
||||
{
|
||||
Axe->DespawnOrUnsummon();
|
||||
@@ -227,7 +227,7 @@ public:
|
||||
{
|
||||
Talk(SAY_AGGRO);
|
||||
DoZoneInCombat();
|
||||
instance->HandleGameObject(instance->GetData64(DATA_GO_NETHER_DOOR), false);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_GO_NETHER_DOOR), false);
|
||||
}
|
||||
|
||||
void SummonAxes()
|
||||
@@ -278,7 +278,7 @@ public:
|
||||
Unit* target = ObjectAccessor::GetUnit(*me, enfeeble_targets[i]);
|
||||
if (target && target->IsAlive())
|
||||
target->SetHealth(enfeeble_health[i]);
|
||||
enfeeble_targets[i] = 0;
|
||||
enfeeble_targets[i].Clear();
|
||||
enfeeble_health[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ public:
|
||||
|
||||
uint32 FlameWreathTimer;
|
||||
uint32 FlameWreathCheckTime;
|
||||
uint64 FlameWreathTarget[3];
|
||||
ObjectGuid FlameWreathTarget[3];
|
||||
float FWTargPosX[3];
|
||||
float FWTargPosY[3];
|
||||
|
||||
@@ -105,6 +105,9 @@ public:
|
||||
FlameWreathTimer = 0;
|
||||
FlameWreathCheckTime = 0;
|
||||
|
||||
for (uint8 i = 0; i < 3; ++i)
|
||||
FlameWreathTarget[i].Clear();
|
||||
|
||||
CurrentNormalSpell = 0;
|
||||
ArcaneCooldown = 0;
|
||||
FireCooldown = 0;
|
||||
@@ -118,7 +121,7 @@ public:
|
||||
|
||||
// Not in progress
|
||||
instance->SetData(DATA_ARAN, NOT_STARTED);
|
||||
instance->HandleGameObject(instance->GetData64(DATA_GO_LIBRARY_DOOR), true);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_GO_LIBRARY_DOOR), true);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) override
|
||||
@@ -131,7 +134,7 @@ public:
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
instance->SetData(DATA_ARAN, DONE);
|
||||
instance->HandleGameObject(instance->GetData64(DATA_GO_LIBRARY_DOOR), true);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_GO_LIBRARY_DOOR), true);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*who*/) override
|
||||
@@ -139,7 +142,7 @@ public:
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
instance->SetData(DATA_ARAN, IN_PROGRESS);
|
||||
instance->HandleGameObject(instance->GetData64(DATA_GO_LIBRARY_DOOR), false);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_GO_LIBRARY_DOOR), false);
|
||||
DoZoneInCombat();
|
||||
}
|
||||
|
||||
@@ -187,7 +190,7 @@ public:
|
||||
{
|
||||
if (CloseDoorTimer <= diff)
|
||||
{
|
||||
instance->HandleGameObject(instance->GetData64(DATA_GO_LIBRARY_DOOR), false);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_GO_LIBRARY_DOOR), false);
|
||||
CloseDoorTimer = 0;
|
||||
}
|
||||
else
|
||||
@@ -362,9 +365,9 @@ public:
|
||||
FlameWreathTimer = 20000;
|
||||
FlameWreathCheckTime = 500;
|
||||
|
||||
FlameWreathTarget[0] = 0;
|
||||
FlameWreathTarget[1] = 0;
|
||||
FlameWreathTarget[2] = 0;
|
||||
FlameWreathTarget[0].Clear();
|
||||
FlameWreathTarget[1].Clear();
|
||||
FlameWreathTarget[2].Clear();
|
||||
|
||||
FlameWreathEffect();
|
||||
break;
|
||||
@@ -496,7 +499,7 @@ public:
|
||||
{
|
||||
unit->CastSpell(unit, 20476, true, 0, 0, me->GetGUID());
|
||||
unit->CastSpell(unit, 11027, true);
|
||||
FlameWreathTarget[i] = 0;
|
||||
FlameWreathTarget[i].Clear();
|
||||
}
|
||||
}
|
||||
FlameWreathCheckTime = 500;
|
||||
|
||||
@@ -70,13 +70,13 @@ public:
|
||||
|
||||
InstanceScript* instance;
|
||||
|
||||
uint64 TerestianGUID;
|
||||
ObjectGuid TerestianGUID;
|
||||
|
||||
uint32 AmplifyTimer;
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
TerestianGUID = 0;
|
||||
TerestianGUID.Clear();
|
||||
AmplifyTimer = 2000;
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ public:
|
||||
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
uint64 TerestianGUID = instance->GetData64(DATA_TERESTIAN);
|
||||
ObjectGuid TerestianGUID = instance->GetGuidData(DATA_TERESTIAN);
|
||||
if (TerestianGUID)
|
||||
{
|
||||
Unit* Terestian = ObjectAccessor::GetUnit(*me, TerestianGUID);
|
||||
@@ -130,11 +130,11 @@ public:
|
||||
{
|
||||
npc_demon_chainAI(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
uint64 SacrificeGUID;
|
||||
ObjectGuid SacrificeGUID;
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
SacrificeGUID = 0;
|
||||
SacrificeGUID.Clear();
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*who*/) override { }
|
||||
@@ -243,14 +243,12 @@ public:
|
||||
{
|
||||
boss_terestianAI(Creature* creature) : ScriptedAI(creature)
|
||||
{
|
||||
for (uint8 i = 0; i < 2; ++i)
|
||||
PortalGUID[i] = 0;
|
||||
instance = creature->GetInstanceScript();
|
||||
}
|
||||
|
||||
InstanceScript* instance;
|
||||
|
||||
uint64 PortalGUID[2];
|
||||
ObjectGuid PortalGUID[2];
|
||||
uint8 PortalsCount;
|
||||
|
||||
uint32 SacrificeTimer;
|
||||
@@ -274,7 +272,7 @@ public:
|
||||
pPortal->DespawnOrUnsummon();
|
||||
}
|
||||
|
||||
PortalGUID[i] = 0;
|
||||
PortalGUID[i].Clear();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -339,7 +337,7 @@ public:
|
||||
if (Creature* pPortal = ObjectAccessor::GetCreature((*me), PortalGUID[i]))
|
||||
pPortal->DespawnOrUnsummon();
|
||||
|
||||
PortalGUID[i] = 0;
|
||||
PortalGUID[i].Clear();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -242,12 +242,12 @@ public:
|
||||
{
|
||||
npc_titoAI(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
uint64 DorotheeGUID;
|
||||
ObjectGuid DorotheeGUID;
|
||||
uint32 YipTimer;
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
DorotheeGUID = 0;
|
||||
DorotheeGUID.Clear();
|
||||
YipTimer = 10000;
|
||||
}
|
||||
|
||||
@@ -260,7 +260,7 @@ public:
|
||||
{
|
||||
if (DorotheeGUID)
|
||||
{
|
||||
Creature* Dorothee = (ObjectAccessor::GetCreature((*me), DorotheeGUID));
|
||||
Creature* Dorothee = ObjectAccessor::GetCreature(*me, DorotheeGUID);
|
||||
if (Dorothee && Dorothee->IsAlive())
|
||||
{
|
||||
CAST_AI(boss_dorothee::boss_dorotheeAI, Dorothee->AI())->TitoDied = true;
|
||||
@@ -848,7 +848,7 @@ public:
|
||||
uint32 FearTimer;
|
||||
uint32 SwipeTimer;
|
||||
|
||||
uint64 HoodGUID;
|
||||
ObjectGuid HoodGUID;
|
||||
float TempThreat;
|
||||
|
||||
bool IsChasing;
|
||||
@@ -859,7 +859,7 @@ public:
|
||||
FearTimer = urand(25000, 35000);
|
||||
SwipeTimer = 5000;
|
||||
|
||||
HoodGUID = 0;
|
||||
HoodGUID.Clear();
|
||||
TempThreat = 0;
|
||||
|
||||
IsChasing = false;
|
||||
@@ -918,7 +918,7 @@ public:
|
||||
|
||||
if (Unit* target = ObjectAccessor::GetUnit(*me, HoodGUID))
|
||||
{
|
||||
HoodGUID = 0;
|
||||
HoodGUID.Clear();
|
||||
if (DoGetThreat(target))
|
||||
DoModifyThreatPercent(target, -100);
|
||||
me->AddThreat(target, TempThreat);
|
||||
@@ -1050,7 +1050,7 @@ public:
|
||||
uint32 EntryYellTimer;
|
||||
uint32 AggroYellTimer;
|
||||
|
||||
uint64 RomuloGUID;
|
||||
ObjectGuid RomuloGUID;
|
||||
|
||||
uint32 Phase;
|
||||
|
||||
@@ -1069,7 +1069,7 @@ public:
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
RomuloGUID = 0;
|
||||
RomuloGUID.Clear();
|
||||
Phase = PHASE_JULIANNE;
|
||||
|
||||
BlindingPassionTimer = 30000;
|
||||
@@ -1165,7 +1165,7 @@ public:
|
||||
|
||||
InstanceScript* instance;
|
||||
|
||||
uint64 JulianneGUID;
|
||||
ObjectGuid JulianneGUID;
|
||||
uint32 Phase;
|
||||
|
||||
uint32 EntryYellTimer;
|
||||
@@ -1181,7 +1181,7 @@ public:
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
JulianneGUID = 0;
|
||||
JulianneGUID.Clear();
|
||||
Phase = PHASE_ROMULO;
|
||||
|
||||
BackwardLungeTimer = 15000;
|
||||
@@ -1259,7 +1259,7 @@ public:
|
||||
Talk(SAY_ROMULO_AGGRO);
|
||||
if (JulianneGUID)
|
||||
{
|
||||
Creature* Julianne = (ObjectAccessor::GetCreature((*me), JulianneGUID));
|
||||
Creature* Julianne = ObjectAccessor::GetCreature(*me, JulianneGUID);
|
||||
if (Julianne && Julianne->GetVictim())
|
||||
{
|
||||
me->AddThreat(Julianne->GetVictim(), 1.0f);
|
||||
|
||||
@@ -142,7 +142,7 @@ public:
|
||||
return true;
|
||||
}
|
||||
|
||||
void SetData64(uint32 type, uint64 data) override
|
||||
void SetGuidData(uint32 type, ObjectGuid data) override
|
||||
{
|
||||
if (type == DATA_IMAGE_OF_MEDIVH)
|
||||
ImageGUID = data;
|
||||
@@ -228,43 +228,12 @@ public:
|
||||
return OperaEvent;
|
||||
case DATA_OPERA_OZ_DEATHCOUNT:
|
||||
return OzDeathCount;
|
||||
|
||||
case DATA_KILREK:
|
||||
return m_uiKilrekGUID;
|
||||
case DATA_TERESTIAN:
|
||||
return m_uiTerestianGUID;
|
||||
case DATA_MOROES:
|
||||
return m_uiMoroesGUID;
|
||||
case DATA_GO_STAGEDOORLEFT:
|
||||
return m_uiStageDoorLeftGUID;
|
||||
case DATA_GO_STAGEDOORRIGHT:
|
||||
return m_uiStageDoorRightGUID;
|
||||
case DATA_GO_CURTAINS:
|
||||
return m_uiCurtainGUID;
|
||||
case DATA_GO_LIBRARY_DOOR:
|
||||
return m_uiLibraryDoor;
|
||||
case DATA_GO_MASSIVE_DOOR:
|
||||
return m_uiMassiveDoor;
|
||||
case DATA_GO_SIDE_ENTRANCE_DOOR:
|
||||
return m_uiSideEntranceDoor;
|
||||
case DATA_GO_GAME_DOOR:
|
||||
return m_uiGamesmansDoor;
|
||||
case DATA_GO_GAME_EXIT_DOOR:
|
||||
return m_uiGamesmansExitDoor;
|
||||
case DATA_GO_NETHER_DOOR:
|
||||
return m_uiNetherspaceDoor;
|
||||
case DATA_MASTERS_TERRACE_DOOR_1:
|
||||
return MastersTerraceDoor[0];
|
||||
case DATA_MASTERS_TERRACE_DOOR_2:
|
||||
return MastersTerraceDoor[1];
|
||||
case DATA_IMAGE_OF_MEDIVH:
|
||||
return ImageGUID;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint64 GetData64(uint32 data) const override
|
||||
ObjectGuid GetGuidData(uint32 data) const override
|
||||
{
|
||||
switch (data)
|
||||
{
|
||||
@@ -302,7 +271,7 @@ public:
|
||||
return m_uiNightBaneGUID;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return ObjectGuid::Empty;
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -311,25 +280,25 @@ public:
|
||||
uint32 OptionalBossCount;
|
||||
//uint32 m_auiEncounter[MAX_ENCOUNTERS];
|
||||
//uint32 m_uiTeam;
|
||||
uint64 m_uiCurtainGUID;
|
||||
uint64 m_uiStageDoorLeftGUID;
|
||||
uint64 m_uiStageDoorRightGUID;
|
||||
uint64 m_uiKilrekGUID;
|
||||
uint64 m_uiTerestianGUID;
|
||||
uint64 m_uiMoroesGUID;
|
||||
uint64 m_uiNightBaneGUID;
|
||||
//uint64 EchoOfMedivhGUID;
|
||||
uint64 m_uiLibraryDoor; // Door at Shade of Aran
|
||||
uint64 m_uiMassiveDoor; // Door at Netherspite
|
||||
uint64 m_uiSideEntranceDoor; // Side Entrance
|
||||
uint64 m_uiGamesmansDoor; // Door before Chess
|
||||
uint64 m_uiGamesmansExitDoor; // Door after Chess
|
||||
uint64 m_uiNetherspaceDoor; // Door at Malchezaar
|
||||
//uint64 m_uiServantsAccessDoor; // Door to Brocken Stair
|
||||
uint64 MastersTerraceDoor[2];
|
||||
uint64 ImageGUID;
|
||||
uint64 DustCoveredChest;
|
||||
uint64 m_uiRelayGUID;
|
||||
ObjectGuid m_uiCurtainGUID;
|
||||
ObjectGuid m_uiStageDoorLeftGUID;
|
||||
ObjectGuid m_uiStageDoorRightGUID;
|
||||
ObjectGuid m_uiKilrekGUID;
|
||||
ObjectGuid m_uiTerestianGUID;
|
||||
ObjectGuid m_uiMoroesGUID;
|
||||
ObjectGuid m_uiNightBaneGUID;
|
||||
//ObjectGuid EchoOfMedivhGUID;
|
||||
ObjectGuid m_uiLibraryDoor; // Door at Shade of Aran
|
||||
ObjectGuid m_uiMassiveDoor; // Door at Netherspite
|
||||
ObjectGuid m_uiSideEntranceDoor; // Side Entrance
|
||||
ObjectGuid m_uiGamesmansDoor; // Door before Chess
|
||||
ObjectGuid m_uiGamesmansExitDoor; // Door after Chess
|
||||
ObjectGuid m_uiNetherspaceDoor; // Door at Malchezaar
|
||||
//ObjectGuid m_uiServantsAccessDoor; // Door to Brocken Stair
|
||||
ObjectGuid MastersTerraceDoor[2];
|
||||
ObjectGuid ImageGUID;
|
||||
ObjectGuid DustCoveredChest;
|
||||
ObjectGuid m_uiRelayGUID;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -126,7 +126,7 @@ public:
|
||||
|
||||
InstanceScript* instance;
|
||||
|
||||
uint64 m_uiSpotlightGUID;
|
||||
ObjectGuid m_uiSpotlightGUID;
|
||||
|
||||
uint32 TalkCount;
|
||||
uint32 TalkTimer;
|
||||
@@ -138,7 +138,7 @@ public:
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
m_uiSpotlightGUID = 0;
|
||||
m_uiSpotlightGUID.Clear();
|
||||
|
||||
TalkCount = 0;
|
||||
TalkTimer = 2000;
|
||||
@@ -168,7 +168,7 @@ public:
|
||||
{
|
||||
case 0:
|
||||
DoCast(me, SPELL_TUXEDO, false);
|
||||
instance->DoUseDoorOrButton(instance->GetData64(DATA_GO_STAGEDOORLEFT));
|
||||
instance->DoUseDoorOrButton(instance->GetGuidData(DATA_GO_STAGEDOORLEFT));
|
||||
break;
|
||||
case 4:
|
||||
TalkCount = 0;
|
||||
@@ -184,12 +184,12 @@ public:
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
instance->DoUseDoorOrButton(instance->GetData64(DATA_GO_STAGEDOORLEFT));
|
||||
instance->DoUseDoorOrButton(instance->GetGuidData(DATA_GO_STAGEDOORLEFT));
|
||||
PerformanceReady = true;
|
||||
break;
|
||||
case 9:
|
||||
PrepareEncounter();
|
||||
instance->DoUseDoorOrButton(instance->GetData64(DATA_GO_CURTAINS));
|
||||
instance->DoUseDoorOrButton(instance->GetGuidData(DATA_GO_CURTAINS));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -437,7 +437,7 @@ public:
|
||||
|
||||
InstanceScript* instance;
|
||||
|
||||
uint64 ArcanagosGUID;
|
||||
ObjectGuid ArcanagosGUID;
|
||||
|
||||
uint32 YellTimer;
|
||||
uint8 Step;
|
||||
@@ -448,11 +448,11 @@ public:
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
ArcanagosGUID = 0;
|
||||
ArcanagosGUID.Clear();
|
||||
MTimer = 0;
|
||||
ATimer = 0;
|
||||
|
||||
if (instance && instance->GetData64(DATA_IMAGE_OF_MEDIVH) == 0)
|
||||
if (instance && !instance->GetGuidData(DATA_IMAGE_OF_MEDIVH))
|
||||
{
|
||||
Creature* Arcanagos = me->SummonCreature(NPC_ARCANAGOS, ArcanagosPos[0], ArcanagosPos[1], ArcanagosPos[2], 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 20000);
|
||||
if (!Arcanagos)
|
||||
@@ -461,7 +461,7 @@ public:
|
||||
return;
|
||||
}
|
||||
|
||||
instance->SetData64(DATA_IMAGE_OF_MEDIVH, me->GetGUID());
|
||||
instance->SetGuidData(DATA_IMAGE_OF_MEDIVH, me->GetGUID());
|
||||
EventStarted = true;
|
||||
ArcanagosGUID = Arcanagos->GetGUID();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user