diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index a3d06d286..d6610c887 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -2680,7 +2680,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr) if (IsGameObject(*itr)) - (*itr)->ToGameObject()->SetUInt32Value(GAMEOBJECT_FLAGS, e.action.goFlag.flag); + (*itr)->ToGameObject()->ReplaceAllGameObjectFlags((GameObjectFlags)e.action.goFlag.flag); delete targets; break; @@ -2693,7 +2693,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr) if (IsGameObject(*itr)) - (*itr)->ToGameObject()->SetFlag(GAMEOBJECT_FLAGS, e.action.goFlag.flag); + (*itr)->ToGameObject()->SetGameObjectFlag((GameObjectFlags)e.action.goFlag.flag); delete targets; break; @@ -2706,7 +2706,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr) if (IsGameObject(*itr)) - (*itr)->ToGameObject()->RemoveFlag(GAMEOBJECT_FLAGS, e.action.goFlag.flag); + (*itr)->ToGameObject()->RemoveGameObjectFlag((GameObjectFlags)e.action.goFlag.flag); delete targets; break; diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp index f1f46b28d..9b1bbc268 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp @@ -225,7 +225,7 @@ void BattlefieldWG::OnBattleStart() // Update faction of relic, only attacker can click on go->SetUInt32Value(GAMEOBJECT_FACTION, WintergraspFaction[GetAttackerTeam()]); // Set in use (not allow to click on before last door is broken) - go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); // save guid m_titansRelic = go->GetGUID(); diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.h b/src/server/game/Battlefield/Zones/BattlefieldWG.h index d0058d9a9..154e0a4cf 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.h +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.h @@ -1208,7 +1208,7 @@ struct BfWGGameObjectBuilding case BATTLEFIELD_WG_OBJECTTYPE_DOOR_LAST: m_WG->SetRelicInteractible(true); if (GameObject* go = m_WG->GetRelic()) - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); else LOG_ERROR("bg.battlefield", "BattlefieldWG: Relic not found."); break; diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp index d101730d5..e269f4c74 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp @@ -293,7 +293,7 @@ void BattlegroundIC::StartingEventOpenDoors() DoorOpen(BG_IC_GO_DOODAD_VR_PORTCULLIS01_2); for (uint8 i = 0; i < MAX_FORTRESS_TELEPORTERS_SPAWNS; ++i) - GetBGObject(BG_IC_Teleporters[i].type)->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + GetBGObject(BG_IC_Teleporters[i].type)->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); for (uint8 i = 0; i < MAX_FORTRESS_TELEPORTER_EFFECTS_SPAWNS; ++i) GetBGObject(BG_IC_TeleporterEffects[i].type)->SetGoState(GO_STATE_ACTIVE); diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp index 0087d327f..7cb46a261 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp @@ -125,7 +125,7 @@ void BattlegroundRV::PostUpdateImpl(uint32 diff) uint32 objects[2] = { BG_RV_OBJECT_ELEVATOR_1, BG_RV_OBJECT_ELEVATOR_2 }; for (uint8 i = 0; i < 2; ++i) if (GameObject* go = GetBGObject(objects[i])) - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_TRANSPORT); + go->RemoveGameObjectFlag(GO_FLAG_TRANSPORT); } break; } diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp index e6dbd02d4..8f16108f8 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp @@ -853,9 +853,9 @@ void BattlegroundSA::UpdateObjectInteractionFlags(uint32 objectId) if (GameObject* go = GetBGObject(objectId)) { if (CanInteractWithObject(objectId)) - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE | GO_FLAG_INTERACT_COND | GO_FLAG_IN_USE); + go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE | GO_FLAG_INTERACT_COND | GO_FLAG_IN_USE); else - go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); } } diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 9b1b73690..249a2e82e 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -319,7 +319,7 @@ bool GameObject::Create(ObjectGuid::LowType guidlow, uint32 name_id, Map* map, u if (GameObjectTemplateAddon const* templateAddon = GetTemplateAddon()) { SetUInt32Value(GAMEOBJECT_FACTION, templateAddon->faction); - SetUInt32Value(GAMEOBJECT_FLAGS, templateAddon->flags); + ReplaceAllGameObjectFlags((GameObjectFlags)templateAddon->flags); } SetEntry(goinfo->entry); @@ -479,7 +479,7 @@ void GameObject::Update(uint32 diff) if (caster && caster->GetTypeId() == TYPEID_PLAYER) { SetGoState(GO_STATE_ACTIVE); - SetUInt32Value(GAMEOBJECT_FLAGS, GO_FLAG_NODESPAWN); + ReplaceAllGameObjectFlags(GO_FLAG_NODESPAWN); UpdateData udata; WorldPacket packet; @@ -721,7 +721,7 @@ void GameObject::Update(uint32 diff) case GAMEOBJECT_TYPE_GOOBER: if (GameTime::GetGameTimeMS().count() >= m_cooldownTime) { - RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE); + RemoveGameObjectFlag(GO_FLAG_IN_USE); SetLootState(GO_JUST_DEACTIVATED); } @@ -826,7 +826,7 @@ void GameObject::Update(uint32 diff) SendObjectDeSpawnAnim(GetGUID()); //reset flags if (GameObjectTemplateAddon const* addon = GetTemplateAddon()) - SetUInt32Value(GAMEOBJECT_FLAGS, addon->flags); + ReplaceAllGameObjectFlags((GameObjectFlags)addon->flags); } if (!m_respawnDelayTime) @@ -908,7 +908,7 @@ void GameObject::DespawnOrUnsummon(Milliseconds delay, Seconds forceRespawnTime) if (GameObjectTemplateAddon const* addon = GetTemplateAddon()) { - SetUInt32Value(GAMEOBJECT_FLAGS, addon->flags); + ReplaceAllGameObjectFlags((GameObjectFlags)addon->flags); } uint32 poolid = m_spawnId ? sPoolMgr->IsPartOfAPool(m_spawnId) : 0; @@ -930,7 +930,7 @@ void GameObject::Delete() SetGoState(GO_STATE_READY); if (GameObjectTemplateAddon const* addon = GetTemplateAddon()) - SetUInt32Value(GAMEOBJECT_FLAGS, addon->flags); + ReplaceAllGameObjectFlags((GameObjectFlags)addon->flags); // Xinef: if ritual gameobject is removed, clear anim spells if (GetGOInfo()->type == GAMEOBJECT_TYPE_SUMMONING_RITUAL) @@ -1096,7 +1096,7 @@ bool GameObject::LoadGameObjectFromDB(ObjectGuid::LowType spawnId, Map* map, boo if (!GetGOInfo()->GetDespawnPossibility() && !GetGOInfo()->IsDespawnAtAction()) { - SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NODESPAWN); + SetGameObjectFlag(GO_FLAG_NODESPAWN); m_respawnDelayTime = 0; m_respawnTime = 0; } @@ -1410,9 +1410,9 @@ void GameObject::SetGoArtKit(uint8 artkit, GameObject* go, ObjectGuid::LowType l void GameObject::SwitchDoorOrButton(bool activate, bool alternative /* = false */) { if (activate) - SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE); + SetGameObjectFlag(GO_FLAG_IN_USE); else - RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE); + RemoveGameObjectFlag(GO_FLAG_IN_USE); if (GetGoState() == GO_STATE_READY) //if closed -> open SetGoState(alternative ? GO_STATE_ACTIVE_ALTERNATIVE : GO_STATE_ACTIVE); @@ -1423,7 +1423,7 @@ void GameObject::SwitchDoorOrButton(bool activate, bool alternative /* = false * void GameObject::Use(Unit* user) { // Xinef: we cannot use go with not selectable flags - if (HasFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE)) + if (HasGameObjectFlag(GO_FLAG_NOT_SELECTABLE)) return; // by default spell caster is user @@ -1577,7 +1577,7 @@ void GameObject::Use(Unit* user) GameObjectTemplate const* info = GetGOInfo(); // xinef: Goober cannot be used with this flag, skip - if (HasFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE)) + if (HasGameObjectFlag(GO_FLAG_IN_USE)) return; if (user->GetTypeId() == TYPEID_PLAYER) @@ -1638,7 +1638,7 @@ void GameObject::Use(Unit* user) if (info->GetAutoCloseTime()) { - SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE); + SetGameObjectFlag(GO_FLAG_IN_USE); SetLootState(GO_ACTIVATED, user); if (!info->goober.customAnim) SetGoState(GO_STATE_ACTIVE); @@ -2282,7 +2282,7 @@ void GameObject::SetDestructibleState(GameObjectDestructibleState state, Player* switch (state) { case GO_DESTRUCTIBLE_INTACT: - RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_DAMAGED | GO_FLAG_DESTROYED); + RemoveGameObjectFlag(GO_FLAG_DAMAGED | GO_FLAG_DESTROYED); SetDisplayId(m_goInfo->displayId); if (setHealth) { @@ -2301,8 +2301,8 @@ void GameObject::SetDestructibleState(GameObjectDestructibleState state, Player* if (Battleground* bg = bgMap->GetBG()) bg->EventPlayerDamagedGO(eventInvoker, this, m_goInfo->building.damagedEvent); - RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_DESTROYED); - SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_DAMAGED); + RemoveGameObjectFlag(GO_FLAG_DESTROYED); + SetGameObjectFlag(GO_FLAG_DAMAGED); uint32 modelId = m_goInfo->building.damagedDisplayId; if (DestructibleModelDataEntry const* modelData = sDestructibleModelDataStore.LookupEntry(m_goInfo->building.destructibleData)) @@ -2336,8 +2336,8 @@ void GameObject::SetDestructibleState(GameObjectDestructibleState state, Player* } } - RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_DAMAGED); - SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_DESTROYED); + RemoveGameObjectFlag(GO_FLAG_DAMAGED); + SetGameObjectFlag(GO_FLAG_DESTROYED); uint32 modelId = m_goInfo->building.destroyedDisplayId; if (DestructibleModelDataEntry const* modelData = sDestructibleModelDataStore.LookupEntry(m_goInfo->building.destructibleData)) @@ -2356,7 +2356,7 @@ void GameObject::SetDestructibleState(GameObjectDestructibleState state, Player* case GO_DESTRUCTIBLE_REBUILDING: { EventInform(m_goInfo->building.rebuildingEvent); - RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_DAMAGED | GO_FLAG_DESTROYED); + RemoveGameObjectFlag(GO_FLAG_DAMAGED | GO_FLAG_DESTROYED); uint32 modelId = m_goInfo->displayId; if (DestructibleModelDataEntry const* modelData = sDestructibleModelDataStore.LookupEntry(m_goInfo->building.destructibleData)) diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h index 58c79e1b5..cd96cb194 100644 --- a/src/server/game/Entities/GameObject/GameObject.h +++ b/src/server/game/Entities/GameObject/GameObject.h @@ -856,6 +856,12 @@ public: void SetPhaseMask(uint32 newPhaseMask, bool update) override; void EnableCollision(bool enable); + GameObjectFlags GetGameObjectFlags() const { return GameObjectFlags(GetUInt32Value(GAMEOBJECT_FLAGS)); } + bool HasGameObjectFlag(GameObjectFlags flags) const { return HasFlag(GAMEOBJECT_FLAGS, flags) != 0; } + void SetGameObjectFlag(GameObjectFlags flags) { SetFlag(GAMEOBJECT_FLAGS, flags); } + void RemoveGameObjectFlag(GameObjectFlags flags) { RemoveFlag(GAMEOBJECT_FLAGS, flags); } + void ReplaceAllGameObjectFlags(GameObjectFlags flags) { SetUInt32Value(GAMEOBJECT_FLAGS, flags); } + void Use(Unit* user); [[nodiscard]] LootState getLootState() const { return m_lootState; } @@ -932,9 +938,9 @@ public: void SetDestructibleState(GameObjectDestructibleState state, Player* eventInvoker = nullptr, bool setHealth = false); [[nodiscard]] GameObjectDestructibleState GetDestructibleState() const { - if (HasFlag(GAMEOBJECT_FLAGS, GO_FLAG_DESTROYED)) + if (HasGameObjectFlag(GO_FLAG_DESTROYED)) return GO_DESTRUCTIBLE_DESTROYED; - if (HasFlag(GAMEOBJECT_FLAGS, GO_FLAG_DAMAGED)) + if (HasGameObjectFlag(GO_FLAG_DAMAGED)) return GO_DESTRUCTIBLE_DAMAGED; return GO_DESTRUCTIBLE_INTACT; } diff --git a/src/server/game/Entities/Transport/Transport.cpp b/src/server/game/Entities/Transport/Transport.cpp index 2c649b443..841dd1b69 100644 --- a/src/server/game/Entities/Transport/Transport.cpp +++ b/src/server/game/Entities/Transport/Transport.cpp @@ -84,7 +84,7 @@ bool MotionTransport::CreateMoTrans(ObjectGuid::LowType guidlow, uint32 entry, u if (GameObjectTemplateAddon const* addon = GetTemplateAddon()) { SetUInt32Value(GAMEOBJECT_FACTION, addon->faction); - SetUInt32Value(GAMEOBJECT_FLAGS, addon->flags); + ReplaceAllGameObjectFlags((GameObjectFlags)addon->flags); } SetObjectScale(goinfo->size); @@ -727,7 +727,7 @@ bool StaticTransport::Create(ObjectGuid::LowType guidlow, uint32 name_id, Map* m if (GameObjectTemplateAddon const* addon = GetTemplateAddon()) { SetUInt32Value(GAMEOBJECT_FACTION, addon->faction); - SetUInt32Value(GAMEOBJECT_FLAGS, addon->flags); + ReplaceAllGameObjectFlags((GameObjectFlags)addon->flags); } SetEntry(goinfo->entry); diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 4594adb1a..26c13d1a9 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1492,6 +1492,7 @@ public: else RemoveByteFlag(UNIT_FIELD_BYTES_2, 1, UNIT_BYTE2_FLAG_PVP); } + [[nodiscard]] uint32 GetCreatureType() const; [[nodiscard]] uint32 GetCreatureTypeMask() const { diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp index 91ac1c93c..a30828e30 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp @@ -220,7 +220,7 @@ class go_suppression_device : public GameObjectScript if (me->GetGoState() == GO_STATE_ACTIVE) me->SetGoState(GO_STATE_READY); me->SetLootState(GO_READY); - me->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + me->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); _events.ScheduleEvent(EVENT_SUPPRESSION_CAST, 5000); me->Respawn(); } @@ -231,7 +231,7 @@ class go_suppression_device : public GameObjectScript return; _active = false; me->SetGoState(GO_STATE_ACTIVE); - me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + me->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); _events.CancelEvent(EVENT_SUPPRESSION_CAST); } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp index d33f125de..7237c8cbe 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp @@ -343,7 +343,7 @@ class go_chromaggus_lever : public GameObjectScript _instance->HandleGameObject(ObjectGuid::Empty, true, go); } - me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE | GO_FLAG_IN_USE); + me->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE | GO_FLAG_IN_USE); me->SetGoState(GO_STATE_ACTIVE); } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp index bd9651e53..4eead7ddf 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp @@ -169,7 +169,7 @@ public: case GO_PORTCULLIS_CHROMAGGUS: AddDoor(go, true); chromaggusDoorGUID = go->GetGUID(); - go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); break; default: break; diff --git a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp index 63295adc1..1f56ef9d8 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp @@ -143,7 +143,7 @@ public: HandleGameObject(m_uiStageDoorLeftGUID, true); HandleGameObject(m_uiStageDoorRightGUID, true); if (GameObject* sideEntrance = instance->GetGameObject(m_uiSideEntranceDoor)) - sideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED); + sideEntrance->RemoveGameObjectFlag(GO_FLAG_LOCKED); instance->UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, 16812, nullptr); } break; @@ -187,9 +187,9 @@ public: case GO_MASSIVE_DOOR: m_uiMassiveDoor = go->GetGUID(); if (GetBossState(DATA_ARAN) != IN_PROGRESS) - go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED); + go->SetGameObjectFlag(GO_FLAG_LOCKED); else - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED); + go->RemoveGameObjectFlag(GO_FLAG_LOCKED); break; case GO_GAMESMAN_HALL_DOOR: m_uiGamesmansDoor = go->GetGUID(); @@ -200,9 +200,9 @@ public: case GO_NETHERSPACE_DOOR: m_uiNetherspaceDoor = go->GetGUID(); if (GetBossState(DATA_PRINCE) != IN_PROGRESS) - go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED); + go->SetGameObjectFlag(GO_FLAG_LOCKED); else - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED); + go->RemoveGameObjectFlag(GO_FLAG_LOCKED); break; case GO_MASTERS_TERRACE_DOOR: MastersTerraceDoor[0] = go->GetGUID(); @@ -213,9 +213,9 @@ public: case GO_SIDE_ENTRANCE_DOOR: m_uiSideEntranceDoor = go->GetGUID(); if (GetBossState(DATA_OPERA_PERFORMANCE) == DONE) - go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED); + go->SetGameObjectFlag(GO_FLAG_LOCKED); else - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED); + go->RemoveGameObjectFlag(GO_FLAG_LOCKED); break; case GO_DUST_COVERED_CHEST: DustCoveredChest = go->GetGUID(); diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp index 10476d569..26e547c90 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp @@ -89,7 +89,7 @@ public: HandleGameObject(KaelDoorGUID, data != IN_PROGRESS); if (data == DONE) if (GameObject* escapeOrb = instance->GetGameObject(EscapeOrbGUID)) - escapeOrb->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + escapeOrb->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); Encounter[identifier] = data; break; } @@ -144,7 +144,7 @@ public: break; case GO_ESCAPE_ORB: if (GetData(DATA_KAELTHAS_EVENT) == DONE) - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); EscapeOrbGUID = go->GetGUID(); break; } diff --git a/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp b/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp index 0c9c8ef71..7fbda2b8a 100644 --- a/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp +++ b/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp @@ -84,7 +84,7 @@ public: if (gameobject->GetEntry() < GO_ATALAI_STATUE1 + _statuePhase) { instance->SummonGameObject(GO_ATALAI_LIGHT2, gameobject->GetPositionX(), gameobject->GetPositionY(), gameobject->GetPositionZ(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); - gameobject->SetUInt32Value(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + gameobject->ReplaceAllGameObjectFlags(GO_FLAG_NOT_SELECTABLE); } break; case GO_ATALAI_IDOL: @@ -93,7 +93,7 @@ public: break; case GO_IDOL_OF_HAKKAR: if (_encounters[TYPE_ATAL_ALARION] == DONE) - gameobject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + gameobject->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); break; case GO_FORCEFIELD: _forcefieldGUID = gameobject->GetGUID(); diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp index 2cdd4a8f4..76eca30d5 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp @@ -184,7 +184,7 @@ public: { for (uint8 i = 0; i < 4; ++i) if (GameObject* orb = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1 + i))) - orb->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + orb->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); } void Reset() override @@ -643,9 +643,9 @@ public: { if (GameObject* orb = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1 + i))) { - if (orb->HasFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE)) + if (orb->HasGameObjectFlag(GO_FLAG_NOT_SELECTABLE)) { - orb->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + orb->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); if (Creature* trigger = me->SummonTrigger(orb->GetPositionX(), orb->GetPositionY(), orb->GetPositionZ(), 0, 10 * MINUTE * IN_MILLISECONDS)) { trigger->CastSpell(trigger, SPELL_RING_OF_BLUE_FLAMES, true, nullptr, nullptr, trigger->GetGUID()); diff --git a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp index a663b5735..499e2f566 100644 --- a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp +++ b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp @@ -55,7 +55,7 @@ public: if (_encounters[DATA_IRONAYA_DOORS] == DONE) { HandleGameObject(ObjectGuid::Empty, true, gameobject); - gameobject->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + gameobject->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); } break; case GO_TEMPLE_DOOR: diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp index 9c60402b2..aa883bb10 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp @@ -671,14 +671,14 @@ public: break; case GONG_EVENT_3: if (GameObject* gong = me->GetMap()->GetGameObject(instance->GetGuidData(GO_STRANGE_GONG))) - gong->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + gong->RemoveGameObjectFlag(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->GetGuidData(GO_STRANGE_GONG))) - gong->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + gong->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); // trigger or gong will need to be scripted to set IN_PROGRESS after enough hits. // This is temp workaround. diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp index 8c4007ed9..f1ee439d8 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp @@ -154,7 +154,7 @@ public: { BossAI::EnterEvadeMode(); if (GameObject* object = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_GONG_OF_BETHEKK))) - object->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + object->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); me->DespawnOrUnsummon(4000); } @@ -428,7 +428,7 @@ public: { if (go->GetInstanceScript() && !go->FindNearestCreature(NPC_ARLOKK, 25.0f)) { - go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); go->SendCustomAnim(0); go->SummonCreature(NPC_ARLOKK, PosSummonArlokk[0], TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 600000); } diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp index 5d29229f5..fc04c4365 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp @@ -83,9 +83,9 @@ public: case GO_GONG_OF_BETHEKK: _goGongOfBethekkGUID = go->GetGUID(); if (GetBossState(DATA_ARLOKK) == DONE) - go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); else - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); break; default: break; diff --git a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp index 4d73e2522..497389cec 100644 --- a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp +++ b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp @@ -611,7 +611,7 @@ public: if (Creature* c = me->FindNearestCreature(NPC_SUNWELL_VISUAL_BUNNY, 60.0f, true)) c->DespawnOrUnsummon(1); if (GameObject* go = me->FindNearestGameObject(GO_QUEL_DELAR, 60.0f)) - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); me->SetWalk(true); if (me->GetCreatureData()) me->GetMotionMaster()->MovePoint(0, me->GetCreatureData()->posX, me->GetCreatureData()->posY, me->GetCreatureData()->posZ); diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp index 1b7e4df1e..24332165b 100644 --- a/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp +++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp @@ -72,17 +72,17 @@ public: case GO_FIRE_OF_AKU_MAI_4: if (_encounters[TYPE_AKU_MAI_EVENT] == DONE) { - gameobject->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE); + gameobject->SetGameObjectFlag(GO_FLAG_IN_USE); gameobject->SetGoState(GO_STATE_ACTIVE); } break; case GO_SHRINE_OF_GELIHAST: if (_encounters[TYPE_GELIHAST] == DONE) - gameobject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + gameobject->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); break; case GO_ALTAR_OF_THE_DEEPS: if (_encounters[TYPE_AKU_MAI] == DONE) - gameobject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + gameobject->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); break; case GO_AKU_MAI_DOOR: if (IsFireEventDone() && _encounters[TYPE_AKU_MAI_EVENT] == DONE) diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp index 460453af2..7eaf5c633 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp @@ -116,7 +116,7 @@ public: { case GO_BARREL: if (_encounterProgress >= ENCOUNTER_PROGRESS_BARRELS) - gameobject->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + gameobject->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); break; case GO_PRISON_DOOR: if (_encounterProgress >= ENCOUNTER_PROGRESS_THRALL_ARMORED) diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp index 0d9e9076a..a22751437 100644 --- a/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp +++ b/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp @@ -49,7 +49,7 @@ public: break; case GO_GONG: if (_gongPhase == DONE) - gameobject->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + gameobject->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); break; } } diff --git a/src/server/scripts/Kalimdor/zone_ashenvale.cpp b/src/server/scripts/Kalimdor/zone_ashenvale.cpp index 6480fb7d6..027692818 100644 --- a/src/server/scripts/Kalimdor/zone_ashenvale.cpp +++ b/src/server/scripts/Kalimdor/zone_ashenvale.cpp @@ -135,7 +135,7 @@ public: if (GameObject* go = GetClosestGameObjectWithEntry(me, GO_NAGA_BRAZIER, INTERACTION_DISTANCE * 2)) { - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); SetEscortPaused(true); } break; diff --git a/src/server/scripts/Kalimdor/zone_silithus.cpp b/src/server/scripts/Kalimdor/zone_silithus.cpp index 7359a53f9..e21f08dfd 100644 --- a/src/server/scripts/Kalimdor/zone_silithus.cpp +++ b/src/server/scripts/Kalimdor/zone_silithus.cpp @@ -1031,7 +1031,7 @@ public: void InitializeAI() override { - me->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + me->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); } bool GossipHello(Player* player, bool reportUse) override @@ -1164,7 +1164,7 @@ public: } me->DespawnOrUnsummon(5000ms, respawnTimer); // Despawn in 5 Seconds for respawnTimer value - me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + me->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); CloseGossipMenuFor(player); return false; } diff --git a/src/server/scripts/Kalimdor/zone_winterspring.cpp b/src/server/scripts/Kalimdor/zone_winterspring.cpp index b7e417cbb..1d8b1e5af 100644 --- a/src/server/scripts/Kalimdor/zone_winterspring.cpp +++ b/src/server/scripts/Kalimdor/zone_winterspring.cpp @@ -354,13 +354,13 @@ public: { if (GameObject* go = GetClosestGameObjectWithEntry(me, GO_ELUNE_ALTAR, 10.0f)) { - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); me->SetFacingToObject(go); _altarGUID = go->GetGUID(); } } else if (GameObject* go = GetClosestGameObjectWithEntry(me, GO_ELUNE_FIRE, 10.0f)) - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); // Yell and set escort to pause Talk(SAY_REACH_TORCH); @@ -610,7 +610,7 @@ public: escortAI->DoContinueEscort(isAltar); } - go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); return false; } diff --git a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_prince_taldaram.cpp b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_prince_taldaram.cpp index b5a8a9797..345b80963 100644 --- a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_prince_taldaram.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_prince_taldaram.cpp @@ -507,7 +507,7 @@ public: return true; } - go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); go->SetGoState(GO_STATE_ACTIVE); uint32 const objectIndex = go->GetEntry() == GO_TELDARAM_SPHERE1 ? DATA_TELDRAM_SPHERE1 : DATA_TELDRAM_SPHERE2; diff --git a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/instance_ahnkahet.cpp b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/instance_ahnkahet.cpp index 4924c4c8b..f26e66845 100644 --- a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/instance_ahnkahet.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/instance_ahnkahet.cpp @@ -77,11 +77,11 @@ public: if (teldaramSpheres.at(pGo->GetEntry() == GO_TELDARAM_SPHERE1 ? 0 : 1) == DONE || GetBossState(DATA_PRINCE_TALDARAM) == DONE) { pGo->SetGoState(GO_STATE_ACTIVE); - pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + pGo->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); } else { - pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + pGo->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); } break; diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp index 13d71c1da..e0839ad0b 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp @@ -1153,7 +1153,7 @@ public: for (uint8 i = 0; i < 3; ++i) if (StairsPos[index][i].GetPositionX()) if (GameObject* go = leader->SummonGameObject(TeamIdInInstance == TEAM_ALLIANCE ? GO_STAIRS_ALLIANCE : GO_STAIRS_HORDE, StairsPos[index][i].GetPositionX(), StairsPos[index][i].GetPositionY(), StairsPos[index][i].GetPositionZ(), StairsPos[index][i].GetOrientation(), 0.0f, 0.0f, 0.0f, 0.0f, 86400, false)) - go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE); + go->SetGameObjectFlag(GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE); //Position pos = TeamIdInInstance == TEAM_ALLIANCE ? AllyPortalPos : HordePortalPos; //leader->SummonGameObject(GO_PORTAL_TO_DALARAN, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation(), 0.0f, 0.0f, 0.0f, 0.0f, 86400); diff --git a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp index 8c72e14d6..db5e13761 100644 --- a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp +++ b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp @@ -176,15 +176,15 @@ public: { case DATA_SLAD_RAN: if (GameObject* altar = instance->GetGameObject(_sladRanAltarGUID)) - altar->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + altar->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); break; case DATA_MOORABI: if (GameObject* altar = instance->GetGameObject(_moorabiAltarGUID)) - altar->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + altar->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); break; case DATA_DRAKKARI_COLOSSUS: if (GameObject* altar = instance->GetGameObject(_drakkariAltarGUID)) - altar->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + altar->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); break; case DATA_ECK_THE_FEROCIOUS_INIT: { diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp index c3685ded4..c40d9bc2a 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp @@ -568,7 +568,7 @@ public: if (GameObject* teleporter = ObjectAccessor::GetGameObject(*me, _instance->GetGuidData(GO_SCOURGE_TRANSPORTER_SAURFANG))) { _instance->HandleGameObject(ObjectGuid::Empty, false, teleporter); - teleporter->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE); + teleporter->SetGameObjectFlag(GO_FLAG_IN_USE); } deathbringer->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE); @@ -830,7 +830,7 @@ public: if (GameObject* teleporter = ObjectAccessor::GetGameObject(*me, _instance->GetGuidData(GO_SCOURGE_TRANSPORTER_SAURFANG))) { _instance->HandleGameObject(ObjectGuid::Empty, false, teleporter); - teleporter->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE); + teleporter->SetGameObjectFlag(GO_FLAG_IN_USE); } deathbringer->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp index af6414c24..2e967bcff 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp @@ -758,12 +758,12 @@ public: case GO_GAS_RELEASE_VALVE: GasReleaseValveGUID = go->GetGUID(); if (GetBossState(DATA_FESTERGUT) != DONE) - go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE); + go->SetGameObjectFlag(GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE); break; case GO_OOZE_RELEASE_VALVE: OozeReleaseValveGUID = go->GetGUID(); if (GetBossState(DATA_ROTFACE) != DONE) - go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE); + go->SetGameObjectFlag(GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE); break; case GO_DRINK_ME: PutricideTableGUID = go->GetGUID(); @@ -774,7 +774,7 @@ public: case GO_CACHE_OF_THE_DREAMWALKER_25H: if (Creature* valithria = instance->GetCreature(ValithriaDreamwalkerGUID)) go->SetLootRecipient(valithria); - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN); + go->RemoveGameObjectFlag(GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN); break; case GO_SCOURGE_TRANSPORTER_LK: TheLichKingTeleportGUID = go->GetGUID(); @@ -819,7 +819,7 @@ public: AddDoor(go, true); ScourgeTransporterFirstGUID = go->GetGUID(); if (GetBossState(DATA_LORD_MARROWGAR) == DONE) - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); break; default: break; @@ -1029,7 +1029,7 @@ public: WeeklyQuestId10 = RAND(QUEST_BLOOD_QUICKENING_10, QUEST_RESIDUE_RENDEZVOUS_10, QUEST_RESPITE_FOR_A_TORMENTED_SOUL_10, QUEST_DEPROGRAMMING_10, QUEST_SECURING_THE_RAMPARTS_10); SetData(DATA_WEEKLY_QUEST_ID, 0); // show required hidden npcs if (GameObject* transporter = instance->GetGameObject(ScourgeTransporterFirstGUID)) - transporter->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + transporter->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); SaveToDB(); } break; @@ -1043,7 +1043,7 @@ public: if (GameObject* loot = instance->GetGameObject(GunshipArmoryGUID)) { loot->SetLootRecipient(instance); - loot->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN); + loot->RemoveGameObjectFlag(GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN); } } else if (state == FAIL) @@ -1057,14 +1057,14 @@ public: { if (Creature* deathbringer = instance->GetCreature(DeathbringerSaurfangGUID)) loot->SetLootRecipient(deathbringer); - loot->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN); + loot->RemoveGameObjectFlag(GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN); } [[fallthrough]]; case NOT_STARTED: if (GameObject* teleporter = instance->GetGameObject(SaurfangTeleportGUID)) { HandleGameObject(SaurfangTeleportGUID, true, teleporter); - teleporter->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE); + teleporter->RemoveGameObjectFlag(GO_FLAG_IN_USE); } break; default: @@ -1075,7 +1075,7 @@ public: if (state == DONE) { if (GameObject* go = instance->GetGameObject(GasReleaseValveGUID)) - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE); + go->RemoveGameObjectFlag(GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE); if (GetBossState(DATA_ROTFACE) == DONE) HandleDropAttempt(false); } @@ -1084,7 +1084,7 @@ public: if (state == DONE) { if (GameObject* go = instance->GetGameObject(OozeReleaseValveGUID)) - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE); + go->RemoveGameObjectFlag(GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE); if (GetBossState(DATA_FESTERGUT) == DONE) HandleDropAttempt(false); } diff --git a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp index f36c12f2e..a4a99d270 100644 --- a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp +++ b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp @@ -403,7 +403,7 @@ public: if (GetBossState(BOSS_LOATHEB) == DONE) { pGo->SetGoState(GO_STATE_ACTIVE); - pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + pGo->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); } break; case GO_THADDIUS_PORTAL: @@ -411,7 +411,7 @@ public: if (GetBossState(BOSS_THADDIUS) == DONE) { pGo->SetGoState(GO_STATE_ACTIVE); - pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + pGo->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); } break; case GO_MAEXXNA_PORTAL: @@ -419,7 +419,7 @@ public: if (GetBossState(BOSS_MAEXXNA) == DONE) { pGo->SetGoState(GO_STATE_ACTIVE); - pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + pGo->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); } break; case GO_HORSEMAN_PORTAL: @@ -427,7 +427,7 @@ public: if (GetBossState(BOSS_HORSEMAN) == DONE) { pGo->SetGoState(GO_STATE_ACTIVE); - pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + pGo->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); } break; @@ -844,7 +844,7 @@ public: if (GameObject* go = instance->GetGameObject(_loathebPortalGUID)) { go->SetGoState(GO_STATE_ACTIVE); - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); } if (GameObject* go = instance->GetGameObject(_plagueEyePortalGUID)) { @@ -884,7 +884,7 @@ public: if (GameObject* go = instance->GetGameObject(_maexxnaPortalGUID)) { go->SetGoState(GO_STATE_ACTIVE); - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); } if (GameObject* go = instance->GetGameObject(_spiderEyePortalGUID)) { @@ -917,7 +917,7 @@ public: if (GameObject* go = instance->GetGameObject(_thaddiusPortalGUID)) { go->SetGoState(GO_STATE_ACTIVE); - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); } if (GameObject* go = instance->GetGameObject(_abomEyePortalGUID)) { @@ -933,7 +933,7 @@ public: if (GameObject* go = instance->GetGameObject(_horsemanPortalGUID)) { go->SetGoState(GO_STATE_ACTIVE); - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); } if (GameObject* go = instance->GetGameObject(_deathknightEyePortalGUID)) { diff --git a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp index 62bb7c042..9590056b0 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp @@ -91,17 +91,17 @@ public: { case GO_TELESTRA_SPHERE: if (GetBossState(DATA_TELESTRA_ORB) != DONE && GetBossState(DATA_MAGUS_TELESTRA_EVENT) == DONE) - gameObject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + gameObject->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); AddDoor(gameObject, true); break; case GO_ANOMALUS_SPHERE: if (GetBossState(DATA_ANOMALUS_ORB) != DONE && GetBossState(DATA_ANOMALUS_EVENT) == DONE) - gameObject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + gameObject->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); AddDoor(gameObject, true); break; case GO_ORMOROK_SPHERE: if (GetBossState(DATA_ORMOROK_ORB) != DONE && GetBossState(DATA_ORMOROK_EVENT) == DONE) - gameObject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + gameObject->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); AddDoor(gameObject, true); break; } @@ -148,7 +148,7 @@ public: BossInfo const* bossInfo = GetBossInfo(id + DATA_TELESTRA_ORB); for (DoorSet::const_iterator i = bossInfo->door[DOOR_TYPE_PASSAGE].begin(); i != bossInfo->door[DOOR_TYPE_PASSAGE].end(); ++i) - (*i)->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + (*i)->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); return true; } diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp index dd8a5e991..b0c89d76b 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp @@ -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); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp index 7cce6e83b..aa7ec64a9 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp @@ -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); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp index 0804c106f..3c8091639 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp @@ -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()); } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp index adbe39af7..175f11d86 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp @@ -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)) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp index 7f534ab6b..ee83d724f 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp @@ -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); } } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp index 14899f089..1677405d0 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp @@ -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()); } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp index 84c740ed2..9672f8f95 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp @@ -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; diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp index 2da3813cb..75509078b 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp @@ -166,7 +166,7 @@ public: // Reset statue if (GameObject* statisGenerator = m_pInstance->instance->GetGameObject(m_pInstance->GetGuidData(STATIS_GENERATOR))) { - statisGenerator->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + statisGenerator->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); statisGenerator->SetGoState(GO_STATE_READY); } @@ -802,7 +802,7 @@ public: if (pPalehoof && pPalehoof->IsAlive()) { // maybe these are hacks :( - go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); go->SetGoState(GO_STATE_ACTIVE); pPalehoof->AI()->DoAction(ACTION_START_EVENT); diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp index 495e4d927..169729901 100644 --- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp @@ -165,7 +165,7 @@ public: { case GO_ACTIVATION_CRYSTAL: HandleGameObject(ObjectGuid::Empty, false, go); // make go not used yet - go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); // not useable at the beginning + go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); // not useable at the beginning GO_ActivationCrystalGUID.push_back(go->GetGUID()); break; case GO_MAIN_DOOR: @@ -451,7 +451,7 @@ public: if (GameObject* go = instance->GetGameObject(guid)) { HandleGameObject(ObjectGuid::Empty, false, go); // not used yet - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); // make it useable + go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); // make it useable } events.RescheduleEvent(EVENT_SUMMON_PORTAL, 4000); } @@ -545,7 +545,7 @@ public: if (GameObject* go = instance->GetGameObject(guid)) { HandleGameObject(ObjectGuid::Empty, false, go); // not used yet - go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); // not useable at the beginning + go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); // not useable at the beginning } // reset positions of Sinclari and Guards diff --git a/src/server/scripts/Northrend/zone_dragonblight.cpp b/src/server/scripts/Northrend/zone_dragonblight.cpp index e23b83d26..06ec7f26a 100644 --- a/src/server/scripts/Northrend/zone_dragonblight.cpp +++ b/src/server/scripts/Northrend/zone_dragonblight.cpp @@ -848,7 +848,7 @@ public: c->RemoveAllAuras(); c->CastSpell(c, SPELL_SAC_HOLY_ZONE_AURA, true); if (GameObject* go = me->FindNearestGameObject(GO_SAC_LIGHTS_VENGEANCE_3, 150.0f)) - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); playerGUID.Clear(); events.RescheduleEvent(2, 60000); } @@ -967,7 +967,7 @@ public: c->CastSpell(c, SPELL_SAC_VEGARD_SUMMON_GHOULS_AURA, false); } if (GameObject* go = me->FindNearestGameObject(GO_SAC_LIGHTS_VENGEANCE_1, 150.0f)) - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); break; case 15: // remove light if (Creature* x = me->FindNearestCreature(NPC_SAC_LIGHTS_VENGEANCE_VEH_2, 150.0f, true)) diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp index 8d7d6a2c2..0faee5fd1 100644 --- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp +++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp @@ -71,7 +71,7 @@ public: { DoUseDoorOrButton(m_uiIkissDoorGUID, DAY * IN_MILLISECONDS); if (GameObject* coffer = instance->GetGameObject(_talonKingsCofferGUID)) - coffer->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE | GO_FLAG_INTERACT_COND); + coffer->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE | GO_FLAG_INTERACT_COND); } break; case TYPE_ANZU_ENCOUNTER: diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp index 6afd9c831..8f7e47ec0 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp @@ -56,7 +56,7 @@ public: if (type == DATA_LADY_VASHJ) for (uint8 i = 0; i < 4; ++i) if (GameObject* gobject = instance->GetGameObject(ShieldGeneratorGUID[i])) - gobject->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + gobject->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); return true; } @@ -158,7 +158,7 @@ public: for (uint8 i = 0; i < 4; ++i) if (GameObject* gobject = instance->GetGameObject(ShieldGeneratorGUID[i])) { - gobject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + gobject->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); vashj->SummonTrigger(gobject->GetPositionX(), gobject->GetPositionY(), gobject->GetPositionZ(), 0.0f, 0); } break; diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp index 4c475dcfd..14093447a 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp @@ -33,14 +33,14 @@ public: if (go->GetEntry() == GO_ACCESS_PANEL_HYDRO) if (instance->GetData(TYPE_HYDROMANCER_THESPIA) == DONE) { - go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); instance->SetData(TYPE_HYDROMANCER_THESPIA, SPECIAL); } if (go->GetEntry() == GO_ACCESS_PANEL_MEK) if (instance->GetData(TYPE_MEKGINEER_STEAMRIGGER) == DONE) { - go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); instance->SetData(TYPE_MEKGINEER_STEAMRIGGER, SPECIAL); } @@ -105,14 +105,14 @@ public: case GO_ACCESS_PANEL_HYDRO: AccessPanelHydro = go->GetGUID(); if (GetData(TYPE_HYDROMANCER_THESPIA) == DONE) - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); else if (GetData(TYPE_HYDROMANCER_THESPIA) == SPECIAL) HandleGameObject(ObjectGuid::Empty, true, go); break; case GO_ACCESS_PANEL_MEK: AccessPanelMek = go->GetGUID(); if (GetData(TYPE_MEKGINEER_STEAMRIGGER) == DONE) - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); else if (GetData(TYPE_MEKGINEER_STEAMRIGGER) == SPECIAL) HandleGameObject(ObjectGuid::Empty, true, go); break; @@ -132,7 +132,7 @@ public: else if (data == DONE) { if (GameObject* panel = instance->GetGameObject(AccessPanelHydro)) - panel->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + panel->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); } m_auiEncounter[type] = data; @@ -146,7 +146,7 @@ public: else if (data == DONE) { if (GameObject* panel = instance->GetGameObject(AccessPanelMek)) - panel->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + panel->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); } m_auiEncounter[type] = data; diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp index ab45b91d2..b20442cca 100644 --- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp @@ -51,7 +51,7 @@ public: if (type == DATA_VAZRUDEN && state == DONE) if (GameObject* chest = instance->GetGameObject(felIronChestGUID)) - chest->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + chest->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); return true; } diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp index 5a8bc7865..1e474c21f 100644 --- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp @@ -142,7 +142,7 @@ public: { for (ObjectGuid const& guid : _cubesSet) if (GameObject* cube = instance->GetGameObject(guid)) - cube->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + cube->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); if (state == NOT_STARTED) SetData(DATA_COLLAPSE, GO_READY); @@ -163,7 +163,7 @@ public: case DATA_ACTIVATE_CUBES: for (ObjectGuid const& guid : _cubesSet) if (GameObject* cube = instance->GetGameObject(guid)) - cube->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + cube->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); break; case DATA_COLLAPSE: for (ObjectGuid const& guid : _columnSet) diff --git a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp index 25e685baa..21afa287e 100644 --- a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp +++ b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp @@ -772,7 +772,7 @@ public: _events.ScheduleEvent(EVENT_SIMON_PERIODIC_PLAYER_CHECK, 2000); if (GameObject* relic = me->FindNearestGameObject(large ? GO_APEXIS_MONUMENT : GO_APEXIS_RELIC, searchDistance)) - relic->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + relic->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); } // Called when despawning the bunny. Sets all the node GOs to their default states. @@ -782,14 +782,14 @@ public: for (uint32 clusterId = SIMON_BLUE; clusterId < SIMON_MAX_COLORS; clusterId++) if (GameObject* cluster = me->FindNearestGameObject(clusterIds[clusterId], searchDistance)) - cluster->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + cluster->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); for (uint32 auraId = GO_AURA_BLUE; auraId <= GO_AURA_YELLOW; auraId++) if (GameObject* auraGo = me->FindNearestGameObject(auraId, searchDistance)) auraGo->RemoveFromWorld(); if (GameObject* relic = me->FindNearestGameObject(large ? GO_APEXIS_MONUMENT : GO_APEXIS_RELIC, searchDistance)) - relic->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + relic->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); me->DespawnOrUnsummon(1000); } @@ -832,7 +832,7 @@ public: { for (uint32 clusterId = SIMON_BLUE; clusterId < SIMON_MAX_COLORS; clusterId++) if (GameObject* cluster = me->FindNearestGameObject(clusterIds[clusterId], searchDistance)) - cluster->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + cluster->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); if (clustersOnly) return; @@ -886,7 +886,7 @@ public: { if (GameObject* cluster = me->FindNearestGameObject(clusterIds[clusterId], 2.0f * searchDistance)) { - cluster->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + cluster->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); // break since we don't need glowing auras for large clusters if (large) diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp index 4c05c2a39..04187bb0d 100644 --- a/src/server/scripts/World/go_scripts.cpp +++ b/src/server/scripts/World/go_scripts.cpp @@ -895,7 +895,7 @@ public: if (player->GetQuestStatus(QUEST_THE_FIRST_TRIAL) == QUEST_STATUS_INCOMPLETE) { _playerGUID = player->GetGUID(); - me->SetFlag(GAMEOBJECT_FLAGS, 1); + me->SetGameObjectFlag((GameObjectFlags)1); me->RemoveByteFlag(GAMEOBJECT_BYTES_1, 0, 1); _events.ScheduleEvent(EVENT_STILLBLADE_SPAWN, 1000); } @@ -922,7 +922,7 @@ public: } case EVENT_RESET_BRAZIER: { - me->RemoveFlag(GAMEOBJECT_FLAGS, 1); + me->RemoveGameObjectFlag((GameObjectFlags)1); me->SetByteFlag(GAMEOBJECT_BYTES_1, 0, 1); break; } diff --git a/src/server/shared/SharedDefines.h b/src/server/shared/SharedDefines.h index 7bc7f047f..5d24d3fb6 100644 --- a/src/server/shared/SharedDefines.h +++ b/src/server/shared/SharedDefines.h @@ -20,6 +20,7 @@ #include "Define.h" #include "DetourNavMesh.h" +#include "EnumFlag.h" #include float const GROUND_HEIGHT_TOLERANCE = 0.05f; // Extra tolerance to z position to check if it is in air or on ground. @@ -1570,7 +1571,7 @@ enum GameobjectTypes #define MAX_GAMEOBJECT_TYPE 36 // sending to client this or greater value can crash client. #define MAX_GAMEOBJECT_DATA 24 // Max number of uint32 vars in gameobject_template data field -enum GameObjectFlags +enum GameObjectFlags : uint32 { GO_FLAG_IN_USE = 0x00000001, // disables interaction while animated GO_FLAG_LOCKED = 0x00000002, // require key, spell, event, etc to be opened. Makes "Locked" appear in tooltip @@ -1583,6 +1584,8 @@ enum GameObjectFlags GO_FLAG_DESTROYED = 0x00000400, }; +DEFINE_ENUM_FLAG(GameObjectFlags); + enum GameObjectDynamicLowFlags { GO_DYNFLAG_LO_ACTIVATE = 0x01, // enables interaction with GO