mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-22 13:16:23 +00:00
feat(Core/Misc): implement ObjectGuid class (port from TC) (#4885)
This commit is contained in:
@@ -85,10 +85,10 @@ public:
|
||||
if (IsHeroic())
|
||||
events.RescheduleEvent(EVENT_SPELL_STORMSTRIKE, 3000);
|
||||
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetData64(DATA_EREKEM_GUARD_1_GUID)))
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_EREKEM_GUARD_1_GUID)))
|
||||
if (!c->IsInCombat())
|
||||
c->AI()->AttackStart(who);
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetData64(DATA_EREKEM_GUARD_2_GUID)))
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_EREKEM_GUARD_2_GUID)))
|
||||
if (!c->IsInCombat())
|
||||
c->AI()->AttackStart(who);
|
||||
}
|
||||
@@ -116,14 +116,14 @@ public:
|
||||
events.RepeatEvent(urand(16000, 22000));
|
||||
break;
|
||||
case EVENT_SPELL_CHAIN_HEAL:
|
||||
if (uint64 TargetGUID = GetChainHealTargetGUID())
|
||||
if (ObjectGuid TargetGUID = GetChainHealTargetGUID())
|
||||
if (pInstance)
|
||||
{
|
||||
if (Creature* target = pInstance->instance->GetCreature(TargetGUID))
|
||||
me->CastSpell(target, SPELL_CHAIN_HEAL, false);
|
||||
|
||||
Creature* pGuard1 = pInstance->instance->GetCreature(pInstance->GetData64(DATA_EREKEM_GUARD_1_GUID));
|
||||
Creature* pGuard2 = pInstance->instance->GetCreature(pInstance->GetData64(DATA_EREKEM_GUARD_2_GUID));
|
||||
Creature* pGuard1 = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_EREKEM_GUARD_1_GUID));
|
||||
Creature* pGuard2 = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_EREKEM_GUARD_2_GUID));
|
||||
if ((pGuard1 && !pGuard1->IsAlive()) || (pGuard2 && !pGuard2->IsAlive()))
|
||||
{
|
||||
events.RepeatEvent(urand(3000, 6000));
|
||||
@@ -147,8 +147,8 @@ public:
|
||||
break;
|
||||
case EVENT_SPELL_STORMSTRIKE:
|
||||
{
|
||||
Creature* pGuard1 = pInstance->instance->GetCreature(pInstance->GetData64(DATA_EREKEM_GUARD_1_GUID));
|
||||
Creature* pGuard2 = pInstance->instance->GetCreature(pInstance->GetData64(DATA_EREKEM_GUARD_2_GUID));
|
||||
Creature* pGuard1 = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_EREKEM_GUARD_1_GUID));
|
||||
Creature* pGuard2 = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_EREKEM_GUARD_2_GUID));
|
||||
if (pGuard1 && !pGuard1->IsAlive() && pGuard2 && !pGuard2->IsAlive()) // both dead
|
||||
me->CastSpell(me->GetVictim(), SPELL_STORMSTRIKE, false);
|
||||
events.RepeatEvent(3000);
|
||||
@@ -184,18 +184,18 @@ public:
|
||||
pInstance->SetData(DATA_FAILED, 1);
|
||||
}
|
||||
|
||||
uint64 GetChainHealTargetGUID()
|
||||
ObjectGuid GetChainHealTargetGUID()
|
||||
{
|
||||
if (HealthBelowPct(85))
|
||||
return me->GetGUID();
|
||||
|
||||
if (pInstance)
|
||||
{
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetData64(DATA_EREKEM_GUARD_1_GUID)))
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_EREKEM_GUARD_1_GUID)))
|
||||
if (c->IsAlive() && !c->HealthAbovePct(75))
|
||||
return c->GetGUID();
|
||||
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetData64(DATA_EREKEM_GUARD_2_GUID)))
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_EREKEM_GUARD_2_GUID)))
|
||||
if (c->IsAlive() && !c->HealthAbovePct(75))
|
||||
return c->GetGUID();
|
||||
}
|
||||
@@ -252,7 +252,7 @@ public:
|
||||
events.RescheduleEvent(EVENT_SPELL_HOWLING_SCREECH, urand(8000, 13000));
|
||||
events.RescheduleEvent(EVENT_SPELL_STRIKE, urand(4000, 8000));
|
||||
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetData64(DATA_EREKEM_GUID)))
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_EREKEM_GUID)))
|
||||
if (!c->IsInCombat())
|
||||
c->AI()->AttackStart(who);
|
||||
}
|
||||
|
||||
@@ -209,8 +209,8 @@ public:
|
||||
bool bIsWaterElementsAlive = false;
|
||||
if (!globules.empty())
|
||||
{
|
||||
for (std::list<uint64>::const_iterator itr = globules.begin(); itr != globules.end(); ++itr)
|
||||
if (Creature* pTemp = ObjectAccessor::GetCreature(*me, *itr))
|
||||
for (ObjectGuid const guid : globules)
|
||||
if (Creature* pTemp = ObjectAccessor::GetCreature(*me, guid))
|
||||
if (pTemp->IsAlive())
|
||||
{
|
||||
bIsWaterElementsAlive = true;
|
||||
@@ -247,7 +247,7 @@ public:
|
||||
me->CastSpell(pSummoned, SPELL_CREATE_GLOBULE_VISUAL, true); // triggered should ignore los
|
||||
globules.Summon(pSummoned);
|
||||
if (pInstance)
|
||||
pInstance->SetData64(DATA_ADD_TRASH_MOB, pSummoned->GetGUID());
|
||||
pInstance->SetGuidData(DATA_ADD_TRASH_MOB, pSummoned->GetGUID());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -257,7 +257,7 @@ public:
|
||||
{
|
||||
globules.Despawn(pSummoned);
|
||||
if (pInstance)
|
||||
pInstance->SetData64(DATA_DELETE_TRASH_MOB, pSummoned->GetGUID());
|
||||
pInstance->SetGuidData(DATA_DELETE_TRASH_MOB, pSummoned->GetGUID());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -323,7 +323,7 @@ public:
|
||||
if (uiRangeCheck_Timer < uiDiff)
|
||||
{
|
||||
if (pInstance)
|
||||
if (Creature* pIchoron = pInstance->instance->GetCreature(pInstance->GetData64(DATA_ICHORON_GUID)))
|
||||
if (Creature* pIchoron = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_ICHORON_GUID)))
|
||||
if (me->IsWithinDist(pIchoron, 2.0f, false))
|
||||
{
|
||||
if (pIchoron->AI())
|
||||
@@ -339,7 +339,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me, SPELL_SPLASH, true);
|
||||
if (pInstance)
|
||||
if (Creature* pIchoron = pInstance->instance->GetCreature(pInstance->GetData64(DATA_ICHORON_GUID)))
|
||||
if (Creature* pIchoron = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_ICHORON_GUID)))
|
||||
if (pIchoron->AI())
|
||||
pIchoron->AI()->DoAction(ACTION_WATER_ELEMENT_KILLED);
|
||||
me->DespawnOrUnsummon(2500);
|
||||
|
||||
@@ -124,8 +124,8 @@ public:
|
||||
{
|
||||
bool found = false;
|
||||
if (pInstance)
|
||||
for (std::list<uint64>::iterator itr = spheres.begin(); itr != spheres.end(); ++itr)
|
||||
if (Creature* c = pInstance->instance->GetCreature(*itr))
|
||||
for (ObjectGuid guid : spheres)
|
||||
if (Creature* c = pInstance->instance->GetCreature(guid))
|
||||
if (me->GetDistance(c) < 3.0f)
|
||||
{
|
||||
c->CastSpell(me, SPELL_ARCANE_POWER, false);
|
||||
@@ -155,7 +155,7 @@ public:
|
||||
pSummoned->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
|
||||
spheres.Summon(pSummoned);
|
||||
if (pInstance)
|
||||
pInstance->SetData64(DATA_ADD_TRASH_MOB, pSummoned->GetGUID());
|
||||
pInstance->SetGuidData(DATA_ADD_TRASH_MOB, pSummoned->GetGUID());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,7 +165,7 @@ public:
|
||||
{
|
||||
spheres.Despawn(pSummoned);
|
||||
if (pInstance)
|
||||
pInstance->SetData64(DATA_DELETE_TRASH_MOB, pSummoned->GetGUID());
|
||||
pInstance->SetGuidData(DATA_DELETE_TRASH_MOB, pSummoned->GetGUID());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -139,7 +139,7 @@ public:
|
||||
summons.Summon(pSummoned);
|
||||
pSummoned->SetPhaseMask(16, true);
|
||||
if (pInstance)
|
||||
pInstance->SetData64(DATA_ADD_TRASH_MOB, pSummoned->GetGUID());
|
||||
pInstance->SetGuidData(DATA_ADD_TRASH_MOB, pSummoned->GetGUID());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -151,7 +151,7 @@ public:
|
||||
if (pSummoned->IsAIEnabled)
|
||||
pSummoned->AI()->DoAction(-1337);
|
||||
if (pInstance)
|
||||
pInstance->SetData64(DATA_DELETE_TRASH_MOB, pSummoned->GetGUID());
|
||||
pInstance->SetGuidData(DATA_DELETE_TRASH_MOB, pSummoned->GetGUID());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -183,19 +183,19 @@ public:
|
||||
npc_vh_void_sentryAI(Creature* c) : NullCreatureAI(c)
|
||||
{
|
||||
pInstance = c->GetInstanceScript();
|
||||
SummonedGUID = 0;
|
||||
SummonedGUID.Clear();
|
||||
checkTimer = 5000;
|
||||
//me->CastSpell(me, SPELL_SUMMON_VOID_SENTRY_BALL, true);
|
||||
if (Creature* pSummoned = me->SummonCreature(NPC_VOID_SENTRY_BALL, *me, TEMPSUMMON_TIMED_DESPAWN, 300000))
|
||||
{
|
||||
pSummoned->SetPhaseMask(1, true);
|
||||
SummonedGUID = pSummoned->GetGUID();
|
||||
pInstance->SetData64(DATA_ADD_TRASH_MOB, pSummoned->GetGUID());
|
||||
pInstance->SetGuidData(DATA_ADD_TRASH_MOB, pSummoned->GetGUID());
|
||||
}
|
||||
}
|
||||
|
||||
InstanceScript* pInstance;
|
||||
uint64 SummonedGUID;
|
||||
ObjectGuid SummonedGUID;
|
||||
uint16 checkTimer;
|
||||
|
||||
void DoAction(int32 a) override
|
||||
@@ -219,7 +219,7 @@ public:
|
||||
void SummonedCreatureDespawn(Creature* pSummoned) override
|
||||
{
|
||||
if (pSummoned)
|
||||
pInstance->SetData64(DATA_DELETE_TRASH_MOB, pSummoned->GetGUID());
|
||||
pInstance->SetGuidData(DATA_DELETE_TRASH_MOB, pSummoned->GetGUID());
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
|
||||
@@ -42,32 +42,32 @@ public:
|
||||
bool bAchiev;
|
||||
bool bDefensesUsed;
|
||||
|
||||
std::vector<uint64> GO_ActivationCrystalGUID;
|
||||
uint64 GO_MainGateGUID;
|
||||
GuidVector GO_ActivationCrystalGUID;
|
||||
ObjectGuid GO_MainGateGUID;
|
||||
|
||||
uint64 GO_MoraggCellGUID;
|
||||
uint64 GO_ErekemCellGUID;
|
||||
uint64 GO_ErekemRightGuardCellGUID;
|
||||
uint64 GO_ErekemLeftGuardCellGUID;
|
||||
uint64 GO_IchoronCellGUID;
|
||||
uint64 GO_LavanthorCellGUID;
|
||||
uint64 GO_XevozzCellGUID;
|
||||
uint64 GO_ZuramatCellGUID;
|
||||
ObjectGuid GO_MoraggCellGUID;
|
||||
ObjectGuid GO_ErekemCellGUID;
|
||||
ObjectGuid GO_ErekemRightGuardCellGUID;
|
||||
ObjectGuid GO_ErekemLeftGuardCellGUID;
|
||||
ObjectGuid GO_IchoronCellGUID;
|
||||
ObjectGuid GO_LavanthorCellGUID;
|
||||
ObjectGuid GO_XevozzCellGUID;
|
||||
ObjectGuid GO_ZuramatCellGUID;
|
||||
|
||||
std::set<uint64> trashMobs;
|
||||
uint64 NPC_SinclariGUID;
|
||||
uint64 NPC_GuardGUID[4];
|
||||
uint64 NPC_PortalGUID;
|
||||
uint64 NPC_DoorSealGUID;
|
||||
GuidSet trashMobs;
|
||||
ObjectGuid NPC_SinclariGUID;
|
||||
ObjectGuid NPC_GuardGUID[4];
|
||||
ObjectGuid NPC_PortalGUID;
|
||||
ObjectGuid NPC_DoorSealGUID;
|
||||
|
||||
uint64 NPC_MoraggGUID;
|
||||
uint64 NPC_ErekemGUID;
|
||||
uint64 NPC_ErekemGuardGUID[2];
|
||||
uint64 NPC_IchoronGUID;
|
||||
uint64 NPC_LavanthorGUID;
|
||||
uint64 NPC_XevozzGUID;
|
||||
uint64 NPC_ZuramatGUID;
|
||||
uint64 NPC_CyanigosaGUID;
|
||||
ObjectGuid NPC_MoraggGUID;
|
||||
ObjectGuid NPC_ErekemGUID;
|
||||
ObjectGuid NPC_ErekemGuardGUID[2];
|
||||
ObjectGuid NPC_IchoronGUID;
|
||||
ObjectGuid NPC_LavanthorGUID;
|
||||
ObjectGuid NPC_XevozzGUID;
|
||||
ObjectGuid NPC_ZuramatGUID;
|
||||
ObjectGuid NPC_CyanigosaGUID;
|
||||
|
||||
void Initialize() override
|
||||
{
|
||||
@@ -84,30 +84,6 @@ public:
|
||||
bDefensesUsed = false;
|
||||
|
||||
GO_ActivationCrystalGUID.clear();
|
||||
GO_MainGateGUID = 0;
|
||||
|
||||
GO_MoraggCellGUID = 0;
|
||||
GO_ErekemCellGUID = 0;
|
||||
GO_ErekemRightGuardCellGUID = 0;
|
||||
GO_ErekemLeftGuardCellGUID = 0;
|
||||
GO_IchoronCellGUID = 0;
|
||||
GO_LavanthorCellGUID = 0;
|
||||
GO_XevozzCellGUID = 0;
|
||||
GO_ZuramatCellGUID = 0;
|
||||
|
||||
NPC_SinclariGUID = 0;
|
||||
memset(&NPC_GuardGUID, 0, sizeof(NPC_GuardGUID));
|
||||
NPC_PortalGUID = 0;
|
||||
NPC_DoorSealGUID = 0;
|
||||
|
||||
NPC_MoraggGUID = 0;
|
||||
NPC_ErekemGUID = 0;
|
||||
NPC_ErekemGuardGUID[0] = NPC_ErekemGuardGUID[1] = 0;
|
||||
NPC_IchoronGUID = 0;
|
||||
NPC_LavanthorGUID = 0;
|
||||
NPC_XevozzGUID = 0;
|
||||
NPC_ZuramatGUID = 0;
|
||||
NPC_CyanigosaGUID = 0;
|
||||
}
|
||||
|
||||
bool IsEncounterInProgress() const override
|
||||
@@ -124,7 +100,7 @@ public:
|
||||
break;
|
||||
case NPC_VIOLET_HOLD_GUARD:
|
||||
for (uint8 i = 0; i < 4; ++i)
|
||||
if (NPC_GuardGUID[i] == 0)
|
||||
if (!NPC_GuardGUID[i])
|
||||
{
|
||||
NPC_GuardGUID[i] = creature->GetGUID();
|
||||
break;
|
||||
@@ -156,7 +132,7 @@ public:
|
||||
NPC_ErekemGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_EREKEM_GUARD:
|
||||
if (NPC_ErekemGuardGUID[0] == 0)
|
||||
if (!NPC_ErekemGuardGUID[0])
|
||||
NPC_ErekemGuardGUID[0] = creature->GetGUID();
|
||||
else
|
||||
NPC_ErekemGuardGUID[1] = creature->GetGUID();
|
||||
@@ -175,7 +151,7 @@ public:
|
||||
switch(go->GetEntry())
|
||||
{
|
||||
case GO_ACTIVATION_CRYSTAL:
|
||||
HandleGameObject(0, false, go); // make go not used yet
|
||||
HandleGameObject(ObjectGuid::Empty, false, go); // make go not used yet
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); // not useable at the beginning
|
||||
GO_ActivationCrystalGUID.push_back(go->GetGUID());
|
||||
break;
|
||||
@@ -280,7 +256,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void SetData64(uint32 type, uint64 data) override
|
||||
void SetGuidData(uint32 type, ObjectGuid data) override
|
||||
{
|
||||
switch(type)
|
||||
{
|
||||
@@ -313,9 +289,9 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint64 GetData64(uint32 identifier) const override
|
||||
ObjectGuid GetGuidData(uint32 identifier) const override
|
||||
{
|
||||
switch(identifier)
|
||||
switch (identifier)
|
||||
{
|
||||
case DATA_TELEPORTATION_PORTAL_GUID:
|
||||
return NPC_PortalGUID;
|
||||
@@ -331,7 +307,7 @@ public:
|
||||
return NPC_IchoronGUID;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return ObjectGuid::Empty;
|
||||
}
|
||||
|
||||
void StartBossEncounter(uint8 uiBoss)
|
||||
@@ -458,10 +434,10 @@ public:
|
||||
DoUpdateWorldState(WORLD_STATE_VH_PRISON_STATE, (uint32)GateHealth);
|
||||
DoUpdateWorldState(WORLD_STATE_VH_WAVE_COUNT, (uint32)WaveCount);
|
||||
|
||||
for (std::vector<uint64>::iterator itr = GO_ActivationCrystalGUID.begin(); itr != GO_ActivationCrystalGUID.end(); ++itr)
|
||||
if (GameObject* go = instance->GetGameObject(*itr))
|
||||
for (ObjectGuid guid : GO_ActivationCrystalGUID)
|
||||
if (GameObject* go = instance->GetGameObject(guid))
|
||||
{
|
||||
HandleGameObject(0, false, go); // not used yet
|
||||
HandleGameObject(ObjectGuid::Empty, false, go); // not used yet
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); // make it useable
|
||||
}
|
||||
events.RescheduleEvent(EVENT_SUMMON_PORTAL, 4000);
|
||||
@@ -552,10 +528,10 @@ public:
|
||||
CLEANED = true;
|
||||
|
||||
// reset defense crystals
|
||||
for (std::vector<uint64>::iterator itr = GO_ActivationCrystalGUID.begin(); itr != GO_ActivationCrystalGUID.end(); ++itr)
|
||||
if (GameObject* go = instance->GetGameObject(*itr))
|
||||
for (ObjectGuid guid : GO_ActivationCrystalGUID)
|
||||
if (GameObject* go = instance->GetGameObject(guid))
|
||||
{
|
||||
HandleGameObject(0, false, go); // not used yet
|
||||
HandleGameObject(ObjectGuid::Empty, false, go); // not used yet
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); // not useable at the beginning
|
||||
}
|
||||
|
||||
@@ -576,12 +552,13 @@ public:
|
||||
// remove portal if any
|
||||
if (Creature* c = instance->GetCreature(NPC_PortalGUID))
|
||||
c->DespawnOrUnsummon();
|
||||
NPC_PortalGUID = 0;
|
||||
NPC_PortalGUID.Clear();
|
||||
|
||||
// remove trash
|
||||
for (std::set<uint64>::iterator itr = trashMobs.begin(); itr != trashMobs.end(); ++itr)
|
||||
if (Creature* c = instance->GetCreature(*itr))
|
||||
for (ObjectGuid guid : trashMobs)
|
||||
if (Creature* c = instance->GetCreature(guid))
|
||||
c->DespawnOrUnsummon();
|
||||
|
||||
trashMobs.clear();
|
||||
|
||||
// clear door seal damaging auras:
|
||||
|
||||
@@ -220,7 +220,7 @@ public:
|
||||
if (pSummoned)
|
||||
{
|
||||
listOfMobs.Summon(pSummoned);
|
||||
pInstance->SetData64(DATA_ADD_TRASH_MOB, pSummoned->GetGUID());
|
||||
pInstance->SetGuidData(DATA_ADD_TRASH_MOB, pSummoned->GetGUID());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -229,7 +229,7 @@ public:
|
||||
if (pSummoned)
|
||||
{
|
||||
listOfMobs.Despawn(pSummoned);
|
||||
pInstance->SetData64(DATA_DELETE_TRASH_MOB, pSummoned->GetGUID());
|
||||
pInstance->SetGuidData(DATA_DELETE_TRASH_MOB, pSummoned->GetGUID());
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -258,7 +258,7 @@ struct violet_hold_trashAI : public npc_escortAI
|
||||
void ClearDoorSealAura()
|
||||
{
|
||||
if (pInstance)
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetData64(DATA_DOOR_SEAL_GUID)))
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_DOOR_SEAL_GUID)))
|
||||
c->RemoveAura(SPELL_DESTROY_DOOR_SEAL, me->GetGUID());
|
||||
}
|
||||
|
||||
@@ -352,7 +352,7 @@ struct violet_hold_trashAI : public npc_escortAI
|
||||
void JustDied(Unit* /*unit*/) override
|
||||
{
|
||||
if (pInstance)
|
||||
if (Creature* portal = ObjectAccessor::GetCreature((*me), pInstance->GetData64(DATA_TELEPORTATION_PORTAL_GUID)))
|
||||
if (Creature* portal = ObjectAccessor::GetCreature((*me), pInstance->GetGuidData(DATA_TELEPORTATION_PORTAL_GUID)))
|
||||
CAST_AI(npc_vh_teleportation_portal::npc_vh_teleportation_portalAI, portal->AI())->SummonedMobDied(me);
|
||||
}
|
||||
|
||||
@@ -1167,7 +1167,7 @@ public:
|
||||
|
||||
bool OnGossipHello(Player* player, GameObject* go) override
|
||||
{
|
||||
if (GameObject* gate = go->GetMap()->GetGameObject(MAKE_NEW_GUID(61606, 193019, HIGHGUID_GAMEOBJECT)))
|
||||
if (GameObject* gate = go->GetMap()->GetGameObject(ObjectGuid::Create<HighGuid::GameObject>(193019, 61606)))
|
||||
if (gate->getLootState() == GO_READY)
|
||||
gate->UseDoorOrButton(0, false, player);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user