mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-17 10:55:43 +00:00
feat(Core/Misc): implement ObjectGuid class (port from TC) (#4885)
This commit is contained in:
@@ -106,8 +106,7 @@ public:
|
||||
void Reset() override
|
||||
{
|
||||
LamentEvent = false;
|
||||
targetGUID = 0;
|
||||
playerGUID = 0;
|
||||
playerGUID.Clear();
|
||||
_events.Reset();
|
||||
}
|
||||
|
||||
@@ -120,7 +119,7 @@ public:
|
||||
_events.ScheduleEvent(EVENT_MULTI_SHOT, 10000);
|
||||
}
|
||||
|
||||
void SetGUID(uint64 guid, int32 type) override
|
||||
void SetGUID(ObjectGuid guid, int32 type) override
|
||||
{
|
||||
if (type == GUID_EVENT_INVOKER)
|
||||
{
|
||||
@@ -223,8 +222,7 @@ public:
|
||||
private:
|
||||
EventMap _events;
|
||||
bool LamentEvent;
|
||||
uint64 targetGUID;
|
||||
uint64 playerGUID;
|
||||
ObjectGuid playerGUID;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
@@ -951,7 +949,7 @@ public:
|
||||
if (Creature* jaina = GetClosestCreatureWithEntry(creature, NPC_JAINA, 50.0f))
|
||||
ai->jainaGUID = jaina->GetGUID();
|
||||
else
|
||||
ai->jainaGUID = 0;
|
||||
ai->jainaGUID.Clear();
|
||||
ai->SetDespawnAtEnd(false);
|
||||
ai->SetDespawnAtFar(false);
|
||||
}
|
||||
@@ -979,9 +977,6 @@ public:
|
||||
{
|
||||
npc_varian_wrynnAI(Creature* creature) : npc_escortAI(creature)
|
||||
{
|
||||
memset(generatorGUID, 0, sizeof(generatorGUID));
|
||||
memset(allianceForcesGUID, 0, sizeof(allianceForcesGUID));
|
||||
memset(hordeForcesGUID, 0, sizeof(hordeForcesGUID));
|
||||
allianceGuardsGUID.clear();
|
||||
}
|
||||
|
||||
@@ -993,17 +988,17 @@ public:
|
||||
|
||||
uint32 whirlwindTimer;
|
||||
|
||||
uint64 jainaGUID;
|
||||
uint64 putressGUID;
|
||||
uint64 blightWormGUID;
|
||||
uint64 khanokGUID;
|
||||
uint64 thrallGUID;
|
||||
uint64 sylvanasGUID;
|
||||
ObjectGuid jainaGUID;
|
||||
ObjectGuid putressGUID;
|
||||
ObjectGuid blightWormGUID;
|
||||
ObjectGuid khanokGUID;
|
||||
ObjectGuid thrallGUID;
|
||||
ObjectGuid sylvanasGUID;
|
||||
|
||||
uint64 generatorGUID[GENERATOR_MAXCOUNT];
|
||||
uint64 allianceForcesGUID[ALLIANCE_FORCE_MAXCOUNT];
|
||||
uint64 hordeForcesGUID[HORDE_FORCE_MAXCOUNT];
|
||||
std::vector<uint64> allianceGuardsGUID;
|
||||
ObjectGuid generatorGUID[GENERATOR_MAXCOUNT];
|
||||
ObjectGuid allianceForcesGUID[ALLIANCE_FORCE_MAXCOUNT];
|
||||
ObjectGuid hordeForcesGUID[HORDE_FORCE_MAXCOUNT];
|
||||
GuidVector allianceGuardsGUID;
|
||||
|
||||
EventMap _events;
|
||||
|
||||
@@ -1036,7 +1031,7 @@ public:
|
||||
bStepping = false;
|
||||
step = 0;
|
||||
phaseTimer = 0;
|
||||
jainaGUID = 0;
|
||||
jainaGUID.Clear();
|
||||
_events.ScheduleEvent(EVENT_WHIRLWIND, 5 * IN_MILLISECONDS);
|
||||
_events.ScheduleEvent(EVENT_HEROIC_LEAP, 10 * IN_MILLISECONDS);
|
||||
_events.ScheduleEvent(EVENT_AGGRO_JAINA, 2 * IN_MILLISECONDS);
|
||||
@@ -1046,38 +1041,38 @@ public:
|
||||
if (Creature* putress = ObjectAccessor::GetCreature(*me, putressGUID))
|
||||
{
|
||||
putress->DespawnOrUnsummon();
|
||||
putressGUID = 0;
|
||||
putressGUID.Clear();
|
||||
}
|
||||
|
||||
if (Creature* blightWorm = ObjectAccessor::GetCreature(*me, blightWormGUID))
|
||||
{
|
||||
blightWorm->DespawnOrUnsummon();
|
||||
blightWormGUID = 0;
|
||||
blightWormGUID.Clear();
|
||||
}
|
||||
|
||||
if (Creature* khanok = ObjectAccessor::GetCreature(*me, khanokGUID))
|
||||
{
|
||||
khanok->DespawnOrUnsummon();
|
||||
khanokGUID = 0;
|
||||
khanokGUID.Clear();
|
||||
}
|
||||
|
||||
if (Creature* thrall = ObjectAccessor::GetCreature(*me, thrallGUID))
|
||||
{
|
||||
thrall->DespawnOrUnsummon();
|
||||
thrallGUID = 0;
|
||||
thrallGUID.Clear();
|
||||
}
|
||||
|
||||
if (Creature* sylvanas = ObjectAccessor::GetCreature(*me, sylvanasGUID))
|
||||
{
|
||||
sylvanas->DespawnOrUnsummon();
|
||||
sylvanasGUID = 0;
|
||||
sylvanasGUID.Clear();
|
||||
}
|
||||
|
||||
for (uint8 i = 0; i < GENERATOR_MAXCOUNT; ++i)
|
||||
{
|
||||
if (Creature* temp = ObjectAccessor::GetCreature(*me, generatorGUID[i]))
|
||||
{
|
||||
generatorGUID[i] = 0;
|
||||
generatorGUID[i].Clear();
|
||||
temp->DespawnOrUnsummon();
|
||||
}
|
||||
}
|
||||
@@ -1086,13 +1081,13 @@ public:
|
||||
{
|
||||
if (Creature* temp = ObjectAccessor::GetCreature(*me, allianceForcesGUID[i]))
|
||||
{
|
||||
allianceForcesGUID[i] = 0;
|
||||
allianceForcesGUID[i].Clear();
|
||||
temp->DespawnOrUnsummon();
|
||||
}
|
||||
}
|
||||
|
||||
for (std::vector<uint64>::const_iterator i = allianceGuardsGUID.begin(); i != allianceGuardsGUID.end(); ++i)
|
||||
if (Creature* temp = ObjectAccessor::GetCreature(*me, *i))
|
||||
for (ObjectGuid const guid : allianceGuardsGUID)
|
||||
if (Creature* temp = ObjectAccessor::GetCreature(*me, guid))
|
||||
temp->DespawnOrUnsummon();
|
||||
|
||||
allianceGuardsGUID.clear();
|
||||
@@ -1101,7 +1096,7 @@ public:
|
||||
{
|
||||
if (Creature* temp = ObjectAccessor::GetCreature(*me, hordeForcesGUID[i]))
|
||||
{
|
||||
hordeForcesGUID[i] = 0;
|
||||
hordeForcesGUID[i].Clear();
|
||||
temp->DespawnOrUnsummon();
|
||||
}
|
||||
}
|
||||
@@ -2291,7 +2286,7 @@ public:
|
||||
thrall_ai->SetDespawnAtFar(false);
|
||||
}
|
||||
else
|
||||
thrall_ai->sylvanasfollowGUID = 0;
|
||||
thrall_ai->sylvanasfollowGUID.Clear();
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -2329,7 +2324,6 @@ public:
|
||||
{
|
||||
npc_thrall_bfuAI(Creature* creature) : npc_escortAI(creature)
|
||||
{
|
||||
memset(allianceForcesGUID, 0, sizeof(allianceForcesGUID));
|
||||
hordeGuardsGUID.clear();
|
||||
}
|
||||
|
||||
@@ -2339,14 +2333,14 @@ public:
|
||||
uint32 step;
|
||||
uint32 phaseTimer;
|
||||
|
||||
uint64 sylvanasfollowGUID;
|
||||
uint64 allianceForcesGUID[ALLIANCE_FORCE_MAXCOUNT];
|
||||
uint64 ValimathrasGUID;
|
||||
uint64 ValimathrasPortalGUID;
|
||||
uint64 WrynnGUID;
|
||||
uint64 JainaGUID;
|
||||
uint64 SaurfangGUID;
|
||||
std::vector<uint64> hordeGuardsGUID;
|
||||
ObjectGuid sylvanasfollowGUID;
|
||||
ObjectGuid allianceForcesGUID[ALLIANCE_FORCE_MAXCOUNT];
|
||||
ObjectGuid ValimathrasGUID;
|
||||
ObjectGuid ValimathrasPortalGUID;
|
||||
ObjectGuid WrynnGUID;
|
||||
ObjectGuid JainaGUID;
|
||||
ObjectGuid SaurfangGUID;
|
||||
GuidVector hordeGuardsGUID;
|
||||
|
||||
EventMap _events;
|
||||
|
||||
@@ -2384,7 +2378,7 @@ public:
|
||||
EnableAttack = false;
|
||||
step = 0;
|
||||
phaseTimer = 0;
|
||||
sylvanasfollowGUID = 0;
|
||||
sylvanasfollowGUID.Clear();
|
||||
_events.ScheduleEvent(EVENT_CHAIN_LIGHTNING, 3 * IN_MILLISECONDS);
|
||||
_events.ScheduleEvent(EVENT_LAVA_BURST, 5 * IN_MILLISECONDS);
|
||||
_events.ScheduleEvent(EVENT_THUNDER, 8 * IN_MILLISECONDS);
|
||||
@@ -2394,35 +2388,35 @@ public:
|
||||
if (Creature* valimathras = ObjectAccessor::GetCreature(*me, ValimathrasGUID))
|
||||
{
|
||||
valimathras->DespawnOrUnsummon();
|
||||
ValimathrasGUID = 0;
|
||||
ValimathrasGUID.Clear();
|
||||
}
|
||||
|
||||
if (Creature* valimathrasportal = ObjectAccessor::GetCreature(*me, ValimathrasPortalGUID))
|
||||
{
|
||||
valimathrasportal->DespawnOrUnsummon();
|
||||
ValimathrasPortalGUID = 0;
|
||||
ValimathrasPortalGUID.Clear();
|
||||
}
|
||||
|
||||
if (Creature* wrynn = ObjectAccessor::GetCreature(*me, WrynnGUID))
|
||||
{
|
||||
wrynn->DespawnOrUnsummon();
|
||||
WrynnGUID = 0;
|
||||
WrynnGUID.Clear();
|
||||
}
|
||||
|
||||
if (Creature* jaina = ObjectAccessor::GetCreature(*me, JainaGUID))
|
||||
{
|
||||
jaina->DespawnOrUnsummon();
|
||||
JainaGUID = 0;
|
||||
JainaGUID.Clear();
|
||||
}
|
||||
|
||||
if (Creature* saurfang = ObjectAccessor::GetCreature(*me, SaurfangGUID))
|
||||
{
|
||||
saurfang->DespawnOrUnsummon();
|
||||
SaurfangGUID = 0;
|
||||
SaurfangGUID.Clear();
|
||||
}
|
||||
|
||||
for (std::vector<uint64>::const_iterator i = hordeGuardsGUID.begin(); i != hordeGuardsGUID.end(); ++i)
|
||||
if (Creature* temp = ObjectAccessor::GetCreature(*me, *i))
|
||||
for (ObjectGuid const guid : hordeGuardsGUID)
|
||||
if (Creature* temp = ObjectAccessor::GetCreature(*me, guid))
|
||||
temp->DespawnOrUnsummon();
|
||||
|
||||
hordeGuardsGUID.clear();
|
||||
|
||||
Reference in New Issue
Block a user