feat(Core/GameObject): Gob flag helpers (#11287)

This commit is contained in:
Kitzunu
2022-04-05 13:52:58 +02:00
committed by GitHub
parent edb7cac19b
commit b41967a067
54 changed files with 155 additions and 145 deletions

View File

@@ -513,7 +513,7 @@ public:
{
plr->RemoveGameObject(go, false);
go->SetLootMode(1);
go->SetUInt32Value(GAMEOBJECT_FLAGS, 0);
go->ReplaceAllGameObjectFlags((GameObjectFlags)0);
}
plr->GroupEventHappens(QUEST_HALLS_OF_STONE, me);

View File

@@ -752,7 +752,7 @@ public:
// Summon Chest
if (GameObject* go = me->SummonGameObject(RAID_MODE(GO_ALGALON_CHEST, GO_ALGALON_CHEST_HERO), 1632.1f, -306.561f, 417.321f, 4.69494f, 0, 0, 0, 1, 0))
{
go->SetUInt32Value(GAMEOBJECT_FLAGS, 0);
go->ReplaceAllGameObjectFlags((GameObjectFlags)0);
go->SetLootRecipient(me);
}
break;
@@ -1132,7 +1132,7 @@ public:
return false;
_locked = true;
// Start Algalon event
me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
me->SetGameObjectFlag(GO_FLAG_IN_USE);
events.ScheduleEvent(EVENT_DESPAWN_CONSOLE, 5000);
if (Creature* brann = me->SummonCreature(NPC_BRANN_BRONZBEARD_ALG, BrannIntroSpawnPos))
brann->AI()->DoAction(ACTION_START_INTRO);

View File

@@ -371,7 +371,7 @@ public:
me->DespawnOrUnsummon(5000);
if (GameObject* go = me->SummonGameObject(chestId, 2345.61f, -71.20f, 425.104f, 3.0f, 0, 0, 0, 0, 0))
{
go->SetUInt32Value(GAMEOBJECT_FLAGS, 0);
go->ReplaceAllGameObjectFlags((GameObjectFlags)0);
go->SetLootRecipient(me->GetMap());
}

View File

@@ -318,7 +318,7 @@ public:
{
me->RemoveGameObject(go, false);
go->SetSpellId(1); // hack to make it despawn
go->SetUInt32Value(GAMEOBJECT_FLAGS, 0);
go->ReplaceAllGameObjectFlags((GameObjectFlags)0);
go->SetLootRecipient(me);
}
if (Creature* arm = ObjectAccessor::GetCreature(*me, _left))

View File

@@ -822,7 +822,7 @@ public:
{
if (GameObject* go = me->SummonGameObject(chestId, 2744.65f, 2569.46f, 364.397f, 0, 0, 0, 0, 0, 0))
{
go->SetUInt32Value(GAMEOBJECT_FLAGS, 0);
go->ReplaceAllGameObjectFlags((GameObjectFlags)0);
go->SetLootRecipient(me->GetMap());
}
}
@@ -906,7 +906,7 @@ public:
{
button->SetLootState(GO_READY);
button->UseDoorOrButton(0, false);
button->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
button->RemoveGameObjectFlag(GO_FLAG_IN_USE);
}
}

View File

@@ -420,7 +420,7 @@ public:
GameObject* go;
if ((go = GetThorimObject(DATA_THORIM_LEVER)))
{
go->SetUInt32Value(GAMEOBJECT_FLAGS, 48);
go->ReplaceAllGameObjectFlags((GameObjectFlags)48);
go->SetGoState(GO_STATE_READY);
}
if ((go = GetThorimObject(DATA_THORIM_FIRST_DOORS)))
@@ -485,7 +485,7 @@ public:
if (_trashCounter >= 6)
{
if (GameObject* go = GetThorimObject(DATA_THORIM_LEVER))
go->RemoveFlag(GAMEOBJECT_FLAGS, 48);
go->RemoveGameObjectFlag((GameObjectFlags)48);
events.SetPhase(EVENT_PHASE_START);
events.ScheduleEvent(EVENT_THORIM_START_PHASE1, 20000);
@@ -593,7 +593,7 @@ public:
if ((go = me->SummonGameObject(chestId, 2134.73f, -286.32f, 419.51f, 0.0f, 0, 0, 0, 0, 0)))
{
go->SetUInt32Value(GAMEOBJECT_FLAGS, 0);
go->ReplaceAllGameObjectFlags((GameObjectFlags)0);
go->SetLootRecipient(me->GetMap());
}

View File

@@ -230,7 +230,7 @@ public:
normalChestPosition.GetOrientation(), 0, 0, 0, 0, 0))
{
m_hodirNormalChest = go->GetGUID();
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
}
}
if (!m_hodirHardmodeChest)
@@ -243,7 +243,7 @@ public:
hardChestPosition.GetOrientation(), 0, 0, 0, 0, 0))
{
m_hodirHardmodeChest = go->GetGUID();
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
hmHodir = true;
}
}
@@ -261,7 +261,7 @@ public:
normalChestPosition.GetOrientation(), 0, 0, 0, 0, 0))
{
m_hodirNormalChest = go->GetGUID();
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
}
}
if (!m_hodirHardmodeChest)
@@ -274,7 +274,7 @@ public:
hardChestPosition.GetOrientation(), 0, 0, 0, 0, 0))
{
m_hodirHardmodeChest = go->GetGUID();
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
hmHodir = true;
}
}
@@ -543,7 +543,7 @@ public:
if (GetData(TYPE_MIMIRON) == DONE && GetData(TYPE_FREYA) == DONE && GetData(TYPE_HODIR) == DONE && GetData(TYPE_THORIM) == DONE)
{
instance->LoadGrid(1903.0f, 248.0f);
gameObject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
gameObject->RemoveGameObjectFlag(GO_FLAG_LOCKED);
}
m_keepersgateGUID = gameObject->GetGUID();
@@ -590,7 +590,7 @@ public:
case GO_CELESTIAL_PLANETARIUM_ACCESS_10:
case GO_CELESTIAL_PLANETARIUM_ACCESS_25:
if (m_algalonTimer)
gameObject->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
gameObject->SetGameObjectFlag(GO_FLAG_IN_USE);
break;
case GO_DOODAD_UL_SIGILDOOR_01:
m_algalonSigilDoorGUID[0] = gameObject->GetGUID();
@@ -640,13 +640,13 @@ public:
{
if (GameObject* go = instance->GetGameObject(m_hodirHardmodeChest))
{
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
go->SetLootRecipient(instance);
}
}
if (GameObject* go = instance->GetGameObject(m_hodirNormalChest))
{
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
go->SetLootRecipient(instance);
}
break;
@@ -694,7 +694,7 @@ public:
if (GetData(TYPE_MIMIRON) == DONE && GetData(TYPE_FREYA) == DONE && GetData(TYPE_HODIR) == DONE && GetData(TYPE_THORIM) == DONE)
{
if (GameObject* go = instance->GetGameObject(m_keepersgateGUID))
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
go->RemoveGameObjectFlag(GO_FLAG_LOCKED);
}
if (type == TYPE_MIMIRON && data == IN_PROGRESS) // after reaching him without tram and starting the fight
m_mimironTramUsed = true;