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

@@ -129,7 +129,7 @@ public:
InstanceScript* instance;
EventMap events;
uint8 eventTimer;
uint64 PlayerGUID;
ObjectGuid PlayerGUID;
void Reset() override { }
@@ -146,7 +146,7 @@ public:
events.Update(diff);
if (eventTimer)
{
Player* player = me->GetMap()->GetPlayer(PlayerGUID);
Player* player = ObjectAccessor::GetPlayer(me->GetMap(), PlayerGUID);
switch (events.ExecuteEvent())
{
case 1:
@@ -454,7 +454,7 @@ public:
}
bool IsLoot;
uint64 PlayerGUID;
ObjectGuid PlayerGUID;
void Reset() override { }
@@ -598,13 +598,13 @@ public:
uint8 _gongEvent;
uint32 _gongTimer;
uint64 uiTargetGUID;
ObjectGuid uiTargetGUID;
void Reset() override
{
_gongEvent = 0;
_gongTimer = 0;
uiTargetGUID = 0;
uiTargetGUID.Clear();
}
void EnterCombat(Unit* /*who*/) override { }
@@ -629,7 +629,7 @@ public:
me->RemoveAllAuras();
me->SetEntry(NPC_HARRISON_JONES_2);
me->SetDisplayId(MODEL_HARRISON_JONES_2);
me->SetTarget(0);
me->SetTarget();
me->SetByteValue(UNIT_FIELD_BYTES_1, UNIT_BYTES_1_OFFSET_STAND_STATE, UNIT_STAND_STATE_DEAD);
me->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD);
instance->SetData(DATA_GONGEVENT, DONE);
@@ -659,14 +659,14 @@ public:
_gongTimer = 4000;
break;
case GONG_EVENT_3:
if (GameObject* gong = me->GetMap()->GetGameObject(instance->GetData64(GO_STRANGE_GONG)))
if (GameObject* gong = me->GetMap()->GetGameObject(instance->GetGuidData(GO_STRANGE_GONG)))
gong->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
_gongEvent = GONG_EVENT_4;
_gongTimer = 105000;
break;
case GONG_EVENT_4:
me->RemoveAura(SPELL_BANGING_THE_GONG);
if (GameObject* gong = me->GetMap()->GetGameObject(instance->GetData64(GO_STRANGE_GONG)))
if (GameObject* gong = me->GetMap()->GetGameObject(instance->GetGuidData(GO_STRANGE_GONG)))
gong->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
// trigger or gong will need to be scripted to set IN_PROGRESS after enough hits.
@@ -728,7 +728,7 @@ public:
}
}
if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_MASSIVE_GATE)))
if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetGuidData(GO_MASSIVE_GATE)))
gate->SetGoState(GO_STATE_ACTIVE);
_gongTimer = 2000;
_gongEvent = GONG_EVENT_8;