feat(Core/Misc): implement ObjectGuid class (port from TC) (#4885)

This commit is contained in:
UltraNix
2021-04-25 22:18:03 +02:00
committed by GitHub
parent 91081f4ad8
commit f4c226423d
568 changed files with 10655 additions and 11019 deletions

View File

@@ -26,8 +26,6 @@ public:
{
SetBossNumber(MAX_ENCOUNTERS);
LoadDoorData(doorData);
_krikthirGUID = 0;
_hadronoxGUID = 0;
};
void OnCreatureCreate(Creature* creature) override
@@ -114,8 +112,8 @@ public:
}
private:
uint64 _krikthirGUID;
uint64 _hadronoxGUID;
ObjectGuid _krikthirGUID;
ObjectGuid _hadronoxGUID;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override

View File

@@ -253,7 +253,7 @@ public:
if (me->GetEntry() == NPC_AHNKAHAR_GUARDIAN_ENTRY)
{
if (InstanceScript* pInstance = me->GetInstanceScript())
if (Creature* nadox = ObjectAccessor::GetCreature(*me, pInstance->GetData64(DATA_ELDER_NADOX)))
if (Creature* nadox = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(DATA_ELDER_NADOX)))
nadox->AI()->DoAction(ACTION_GUARDIAN_DIED);
me->RemoveAllAuras();

View File

@@ -200,9 +200,9 @@ public:
}
uint16 phase = 1;
for (std::list<uint64>::iterator itr = summons.begin(); itr != summons.end(); ++itr)
for (ObjectGuid guid : summons)
{
if (Creature* summon = ObjectAccessor::GetCreature(*me, *itr))
if (Creature* summon = ObjectAccessor::GetCreature(*me, guid))
phase |= summon->GetPhaseMask();
}

View File

@@ -144,7 +144,7 @@ public:
uint8 rnd = urand(0, summons.size() - 1);
uint8 loop = 0;
for (std::list<uint64>::iterator i = summons.begin(); i != summons.end();)
for (GuidList::iterator i = summons.begin(); i != summons.end();)
{
Creature* summon = ObjectAccessor::GetCreature(*me, *i);
if (summon && summon->GetEntry() == NPC_INITIATE && loop >= rnd)
@@ -450,7 +450,7 @@ public:
if (!pInstance || Killer == me)
return;
Creature* boss = me->GetMap()->GetCreature(pInstance->GetData64(DATA_JEDOGA_SHADOWSEEKER));
Creature* boss = me->GetMap()->GetCreature(pInstance->GetGuidData(DATA_JEDOGA_SHADOWSEEKER));
if (boss)
{
if (Timer)
@@ -475,7 +475,7 @@ public:
{
Unit::Kill(me, me);
me->DespawnOrUnsummon(5000);
Creature* boss = me->GetMap()->GetCreature(pInstance->GetData64(DATA_JEDOGA_SHADOWSEEKER));
Creature* boss = me->GetMap()->GetCreature(pInstance->GetGuidData(DATA_JEDOGA_SHADOWSEEKER));
if (boss)
boss->AI()->DoAction(ACTION_HERALD);
}

View File

@@ -70,7 +70,7 @@ public:
InstanceScript* pInstance;
EventMap events;
SummonList summons;
uint64 vanishTarget;
ObjectGuid vanishTarget;
uint32 vanishDamage;
void Reset() override
@@ -81,7 +81,7 @@ public:
events.Reset();
summons.DespawnAll();
vanishDamage = 0;
vanishTarget = 0;
vanishTarget.Clear();
if (pInstance)
{
@@ -105,7 +105,7 @@ public:
me->UpdatePosition(me->GetPositionX(), me->GetPositionY(), DATA_GROUND_POSITION_Z, me->GetOrientation(), true);
if (pInstance)
pInstance->HandleGameObject(pInstance->GetData64(DATA_PRINCE_TALDARAM_PLATFORM), true);
pInstance->HandleGameObject(pInstance->GetGuidData(DATA_PRINCE_TALDARAM_PLATFORM), true);
}
}
@@ -126,7 +126,7 @@ public:
events.Reset();
events.ScheduleEvent(EVENT_PRINCE_FLAME_SPHERES, 10000);
events.ScheduleEvent(EVENT_PRINCE_BLOODTHIRST, 10000);
vanishTarget = 0;
vanishTarget.Clear();
vanishDamage = 0;
}
@@ -334,7 +334,7 @@ public:
if (!pInstance)
return false;
Creature* pPrinceTaldaram = ObjectAccessor::GetCreature(*go, pInstance->GetData64(DATA_PRINCE_TALDARAM));
Creature* pPrinceTaldaram = ObjectAccessor::GetCreature(*go, pInstance->GetGuidData(DATA_PRINCE_TALDARAM));
if (pPrinceTaldaram && pPrinceTaldaram->IsAlive())
{
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);

View File

@@ -17,14 +17,14 @@ public:
{
instance_ahnkahet_InstanceScript(Map* pMap) : InstanceScript(pMap) {Initialize();};
uint64 Elder_Nadox;
uint64 Prince_Taldaram;
uint64 Jedoga_Shadowseeker;
uint64 Herald_Volazj;
uint64 Amanitar;
ObjectGuid Elder_Nadox;
ObjectGuid Prince_Taldaram;
ObjectGuid Jedoga_Shadowseeker;
ObjectGuid Herald_Volazj;
ObjectGuid Amanitar;
uint64 Prince_TaldaramPlatform;
uint64 Prince_TaldaramGate;
ObjectGuid Prince_TaldaramPlatform;
ObjectGuid Prince_TaldaramGate;
uint32 m_auiEncounter[MAX_ENCOUNTER];
uint32 spheres;
@@ -36,14 +36,6 @@ public:
{
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
Elder_Nadox = 0;
Prince_Taldaram = 0;
Jedoga_Shadowseeker = 0;
Herald_Volazj = 0;
Amanitar = 0;
Prince_TaldaramPlatform = 0;
Prince_TaldaramGate = 0;
spheres = NOT_STARTED;
nadoxAchievement = false;
@@ -87,7 +79,7 @@ public:
case 193564:
Prince_TaldaramPlatform = pGo->GetGUID();
if (m_auiEncounter[1] == DONE)
HandleGameObject(0, true, pGo);
HandleGameObject(ObjectGuid::Empty, true, pGo);
break;
case 193093:
@@ -113,13 +105,13 @@ public:
case 192236:
Prince_TaldaramGate = pGo->GetGUID(); // Web gate past Prince Taldaram
if (m_auiEncounter[1] == DONE)
HandleGameObject(0, true, pGo);
HandleGameObject(ObjectGuid::Empty, true, pGo);
break;
}
}
uint64 GetData64(uint32 identifier) const override
ObjectGuid GetGuidData(uint32 identifier) const override
{
switch(identifier)
{
@@ -137,7 +129,7 @@ public:
return Prince_TaldaramPlatform;
}
return 0;
return ObjectGuid::Empty;
}
bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) override