mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-22 21:26:23 +00:00
feat(Core/Misc): implement ObjectGuid class (port from TC) (#4885)
This commit is contained in:
@@ -314,7 +314,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
|
||||
|
||||
void EnterEvadeMode() override
|
||||
{
|
||||
if (Creature* delrissa = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_DELRISSA)))
|
||||
if (Creature* delrissa = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_DELRISSA)))
|
||||
if (!delrissa->IsAlive())
|
||||
{
|
||||
delrissa->Respawn();
|
||||
@@ -325,7 +325,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
|
||||
|
||||
void EnterCombat(Unit* who) override
|
||||
{
|
||||
if (Creature* delrissa = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_DELRISSA)))
|
||||
if (Creature* delrissa = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_DELRISSA)))
|
||||
if (delrissa->IsAlive() && !delrissa->IsInCombat())
|
||||
delrissa->AI()->AttackStart(who);
|
||||
|
||||
@@ -344,7 +344,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
|
||||
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (Creature* delrissa = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_DELRISSA)))
|
||||
if (Creature* delrissa = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_DELRISSA)))
|
||||
delrissa->AI()->KilledUnit(victim);
|
||||
}
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ public:
|
||||
InstanceScript* instance;
|
||||
EventMap events;
|
||||
SummonList summons;
|
||||
uint64 CrystalGUID;
|
||||
ObjectGuid CrystalGUID;
|
||||
|
||||
bool CanAIAttack(const Unit* who) const override
|
||||
{
|
||||
@@ -94,7 +94,7 @@ public:
|
||||
summons.DespawnAll();
|
||||
SpawnCrystals();
|
||||
instance->SetData(DATA_SELIN_EVENT, NOT_STARTED);
|
||||
CrystalGUID = 0;
|
||||
CrystalGUID.Clear();
|
||||
me->SetPower(POWER_MANA, 0);
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ public:
|
||||
if (summons.empty())
|
||||
return;
|
||||
|
||||
CrystalGUID = 0;
|
||||
CrystalGUID.Clear();
|
||||
Unit* crystal = nullptr;
|
||||
for (SummonList::const_iterator i = summons.begin(); i != summons.end(); )
|
||||
if (Creature* summon = ObjectAccessor::GetCreature(*me, *i++))
|
||||
|
||||
@@ -17,29 +17,19 @@ public:
|
||||
|
||||
uint32 Encounter[MAX_ENCOUNTER];
|
||||
|
||||
uint64 VexallusDoorGUID;
|
||||
uint64 SelinDoorGUID;
|
||||
uint64 SelinEncounterDoorGUID;
|
||||
uint64 DelrissaDoorGUID;
|
||||
uint64 KaelDoorGUID;
|
||||
uint64 EscapeOrbGUID;
|
||||
ObjectGuid VexallusDoorGUID;
|
||||
ObjectGuid SelinDoorGUID;
|
||||
ObjectGuid SelinEncounterDoorGUID;
|
||||
ObjectGuid DelrissaDoorGUID;
|
||||
ObjectGuid KaelDoorGUID;
|
||||
ObjectGuid EscapeOrbGUID;
|
||||
|
||||
uint64 DelrissaGUID;
|
||||
uint64 KaelGUID;
|
||||
ObjectGuid DelrissaGUID;
|
||||
ObjectGuid KaelGUID;
|
||||
|
||||
void Initialize() override
|
||||
{
|
||||
memset(&Encounter, 0, sizeof(Encounter));
|
||||
|
||||
VexallusDoorGUID = 0;
|
||||
SelinDoorGUID = 0;
|
||||
SelinEncounterDoorGUID = 0;
|
||||
DelrissaDoorGUID = 0;
|
||||
KaelDoorGUID = 0;
|
||||
EscapeOrbGUID = 0;
|
||||
|
||||
DelrissaGUID = 0;
|
||||
KaelGUID = 0;
|
||||
}
|
||||
|
||||
bool IsEncounterInProgress() const override
|
||||
@@ -118,7 +108,7 @@ public:
|
||||
{
|
||||
case GO_SELIN_DOOR:
|
||||
if (GetData(DATA_SELIN_EVENT) == DONE)
|
||||
HandleGameObject(0, true, go);
|
||||
HandleGameObject(ObjectGuid::Empty, true, go);
|
||||
SelinDoorGUID = go->GetGUID();
|
||||
break;
|
||||
case GO_SELIN_ENCOUNTER_DOOR:
|
||||
@@ -127,13 +117,13 @@ public:
|
||||
|
||||
case GO_VEXALLUS_DOOR:
|
||||
if (GetData(DATA_VEXALLUS_EVENT) == DONE)
|
||||
HandleGameObject(0, true, go);
|
||||
HandleGameObject(ObjectGuid::Empty, true, go);
|
||||
VexallusDoorGUID = go->GetGUID();
|
||||
break;
|
||||
|
||||
case GO_DELRISSA_DOOR:
|
||||
if (GetData(DATA_DELRISSA_EVENT) == DONE)
|
||||
HandleGameObject(0, true, go);
|
||||
HandleGameObject(ObjectGuid::Empty, true, go);
|
||||
DelrissaDoorGUID = go->GetGUID();
|
||||
break;
|
||||
case GO_KAEL_DOOR:
|
||||
@@ -182,14 +172,15 @@ public:
|
||||
OUT_LOAD_INST_DATA_COMPLETE;
|
||||
}
|
||||
|
||||
uint64 GetData64(uint32 identifier) const override
|
||||
ObjectGuid GetGuidData(uint32 identifier) const override
|
||||
{
|
||||
switch (identifier)
|
||||
{
|
||||
case NPC_DELRISSA:
|
||||
return DelrissaGUID;
|
||||
}
|
||||
return 0;
|
||||
|
||||
return ObjectGuid::Empty;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user