aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-03-30 18:01:24 +0200
committerShauren <shauren.trinity@gmail.com>2022-03-30 18:01:24 +0200
commit5eea9883c2c4cc0cf5d5be6fe52644d205a88ca3 (patch)
treed58aeff3487987082f755f305f8f15062979e767
parente334fdf3ade7c3df8df9e5730434b67fe1ed019a (diff)
Core/GameObjects: Reduce differences between branches part 3 - gameobject updatefield accessors
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp6
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp4
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp54
-rw-r--r--src/server/game/Entities/GameObject/GameObject.h36
-rw-r--r--src/server/game/Entities/Transport/Transport.cpp4
-rw-r--r--src/server/game/Entities/Transport/Transport.h2
-rw-r--r--src/server/game/Spells/SpellEffects.cpp8
-rw-r--r--src/server/scripts/Battlefield/BattlefieldWG.cpp4
-rw-r--r--src/server/scripts/Commands/cs_gobject.cpp33
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp4
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp2
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp8
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/npc_arthas.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp8
-rw-r--r--src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_ashenvale.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_silithus.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_winterspring.cpp6
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp2
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp8
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp2
-rw-r--r--src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp14
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp6
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp14
-rw-r--r--src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp22
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp8
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp4
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp12
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp8
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp8
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp4
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp10
-rw-r--r--src/server/scripts/Northrend/VioletHold/violet_hold.cpp2
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp8
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp4
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp4
-rw-r--r--src/server/scripts/Outland/zone_blades_edge_mountains.cpp10
-rw-r--r--src/server/shared/SharedDefines.h3
61 files changed, 223 insertions, 197 deletions
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp
index daca43f5b57..6ff89cfb440 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp
@@ -240,7 +240,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)->RemoveFlag(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);
@@ -809,12 +809,12 @@ void BattlegroundIC::DestroyGate(Player* player, GameObject* go)
if (player->GetTeamId() == TEAM_ALLIANCE)
{
DoorOpen(BG_IC_GO_HORDE_KEEP_PORTCULLIS);
- GetBGObject(BG_IC_GO_HORDE_BANNER)->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ GetBGObject(BG_IC_GO_HORDE_BANNER)->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
}
else
{
DoorOpen(BG_IC_GO_DOODAD_PORTCULLISACTIVE02);
- GetBGObject(BG_IC_GO_ALLIANCE_BANNER)->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ GetBGObject(BG_IC_GO_ALLIANCE_BANNER)->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
}
uint32 textId;
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
index b3a1c1d0b4d..f6b997c2527 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
@@ -766,9 +766,9 @@ void BattlegroundSA::UpdateObjectInteractionFlags(uint32 objectId)
if (GameObject* go = GetBGObject(objectId))
{
if (CanInteractWithObject(objectId))
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
else
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->SetFlag(GO_FLAG_NOT_SELECTABLE);
}
}
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index 7d0c92b5335..8e9d541e2c6 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -323,7 +323,7 @@ bool GameObject::Create(ObjectGuid::LowType guidlow, uint32 name_id, Map* map, u
if (GameObjectOverride const* goOverride = GetGameObjectOverride())
{
SetFaction(goOverride->Faction);
- SetUInt32Value(GAMEOBJECT_FLAGS, goOverride->Flags);
+ ReplaceAllFlags(GameObjectFlags(goOverride->Flags));
}
SetEntry(goinfo->entry);
@@ -333,7 +333,7 @@ bool GameObject::Create(ObjectGuid::LowType guidlow, uint32 name_id, Map* map, u
SetDisplayId(goinfo->displayId);
- m_model = CreateModel();
+ CreateModel();
// GAMEOBJECT_BYTES_1, index at 0, 1, 2 and 3
SetGoType(GameobjectTypes(goinfo->type));
m_prevGoState = go_state;
@@ -352,7 +352,7 @@ bool GameObject::Create(ObjectGuid::LowType guidlow, uint32 name_id, Map* map, u
SetGoAnimProgress(255);
break;
case GAMEOBJECT_TYPE_TRANSPORT:
- SetUInt32Value(GAMEOBJECT_LEVEL, goinfo->transport.pause);
+ SetLevel(goinfo->transport.pause);
SetGoState(goinfo->transport.startOpen ? GO_STATE_ACTIVE : GO_STATE_READY);
SetGoAnimProgress(animprogress);
m_goValue.Transport.PathProgress = 0;
@@ -505,7 +505,7 @@ void GameObject::Update(uint32 diff)
if (caster && caster->GetTypeId() == TYPEID_PLAYER)
{
SetGoState(GO_STATE_ACTIVE);
- SetUInt32Value(GAMEOBJECT_FLAGS, GO_FLAG_NODESPAWN);
+ ReplaceAllFlags(GO_FLAG_NODESPAWN);
UpdateData udata;
WorldPacket packet;
@@ -694,7 +694,7 @@ void GameObject::Update(uint32 diff)
case GAMEOBJECT_TYPE_GOOBER:
if (GameTime::GetGameTimeMS() >= m_cooldownTime)
{
- RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
+ RemoveFlag(GO_FLAG_IN_USE);
SetLootState(GO_JUST_DEACTIVATED);
}
break;
@@ -823,7 +823,7 @@ void GameObject::Update(uint32 diff)
SendObjectDeSpawnAnim(GetGUID());
//reset flags
if (GameObjectOverride const* goOverride = GetGameObjectOverride())
- SetUInt32Value(GAMEOBJECT_FLAGS, goOverride->Flags);
+ ReplaceAllFlags(GameObjectFlags(goOverride->Flags));
}
if (!m_respawnDelayTime)
@@ -918,7 +918,7 @@ void GameObject::Delete()
SetGoState(GO_STATE_READY);
if (GameObjectOverride const* goOverride = GetGameObjectOverride())
- SetUInt32Value(GAMEOBJECT_FLAGS, goOverride->Flags);
+ ReplaceAllFlags(GameObjectFlags(goOverride->Flags));
uint32 poolid = GetSpawnId() ? sPoolMgr->IsPartOfAPool<GameObject>(GetSpawnId()) : 0;
if (poolid)
@@ -1069,7 +1069,7 @@ bool GameObject::LoadFromDB(ObjectGuid::LowType spawnId, Map* map, bool addToMap
if (!GetGOInfo()->GetDespawnPossibility() && !GetGOInfo()->IsDespawnAtAction())
{
- SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NODESPAWN);
+ SetFlag(GO_FLAG_NODESPAWN);
m_respawnDelayTime = 0;
m_respawnTime = 0;
}
@@ -1411,7 +1411,7 @@ void GameObject::ResetDoorOrButton()
if (m_lootState == GO_READY || m_lootState == GO_JUST_DEACTIVATED)
return;
- RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
+ RemoveFlag(GO_FLAG_IN_USE);
SetGoState(m_prevGoState);
SetLootState(GO_JUST_DEACTIVATED);
@@ -1452,8 +1452,10 @@ void GameObject::ActivateObject(GameObjectActions action, WorldObject* spellCast
Use(unitCaster);
break;
case GameObjectActions::Unlock:
+ RemoveFlag(GO_FLAG_LOCKED);
+ break;
case GameObjectActions::Lock:
- ApplyModFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED, action == GameObjectActions::Lock);
+ SetFlag(GO_FLAG_LOCKED);
break;
case GameObjectActions::Open:
if (unitCaster)
@@ -1463,7 +1465,7 @@ void GameObject::ActivateObject(GameObjectActions action, WorldObject* spellCast
if (unitCaster)
{
UseDoorOrButton(0, false, unitCaster);
- RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
+ RemoveFlag(GO_FLAG_LOCKED);
}
break;
case GameObjectActions::Close:
@@ -1486,12 +1488,14 @@ void GameObject::ActivateObject(GameObjectActions action, WorldObject* spellCast
DespawnOrUnsummon();
break;
case GameObjectActions::MakeInert:
+ SetFlag(GO_FLAG_NOT_SELECTABLE);
+ break;
case GameObjectActions::MakeActive:
- ApplyModFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE, action == GameObjectActions::MakeInert);
+ RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
case GameObjectActions::CloseAndLock:
ResetDoorOrButton();
- SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
+ SetFlag(GO_FLAG_LOCKED);
break;
case GameObjectActions::UseArtKit0:
case GameObjectActions::UseArtKit1:
@@ -1548,9 +1552,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);
+ SetFlag(GO_FLAG_IN_USE);
else
- RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
+ RemoveFlag(GO_FLAG_IN_USE);
if (GetGoState() == GO_STATE_READY) //if closed -> open
SetGoState(alternative ? GO_STATE_DESTROYED : GO_STATE_ACTIVE);
@@ -1749,7 +1753,7 @@ void GameObject::Use(Unit* user)
if (uint32 trapEntry = info->goober.linkedTrapId)
TriggeringLinkedGameObject(trapEntry, user);
- SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
+ SetFlag(GO_FLAG_IN_USE);
SetLootState(GO_ACTIVATED, user);
// this appear to be ok, however others exist in addition to this that should have custom (ex: 190510, 188692, 187389)
@@ -2351,7 +2355,7 @@ void GameObject::SetDestructibleState(GameObjectDestructibleState state, WorldOb
switch (state)
{
case GO_DESTRUCTIBLE_INTACT:
- RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_DAMAGED | GO_FLAG_DESTROYED);
+ RemoveFlag(GO_FLAG_DAMAGED | GO_FLAG_DESTROYED);
SetDisplayId(m_goInfo->displayId);
if (setHealth)
{
@@ -2365,8 +2369,8 @@ void GameObject::SetDestructibleState(GameObjectDestructibleState state, WorldOb
EventInform(m_goInfo->building.damagedEvent, attackerOrHealer);
AI()->Damaged(attackerOrHealer, m_goInfo->building.damagedEvent);
- RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_DESTROYED);
- SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_DAMAGED);
+ RemoveFlag(GO_FLAG_DESTROYED);
+ SetFlag(GO_FLAG_DAMAGED);
uint32 modelId = m_goInfo->displayId;
if (DestructibleModelDataEntry const* modelData = sDestructibleModelDataStore.LookupEntry(m_goInfo->building.destructibleData))
@@ -2394,8 +2398,8 @@ void GameObject::SetDestructibleState(GameObjectDestructibleState state, WorldOb
if (Battleground* bg = player->GetBattleground())
bg->DestroyGate(player, this);
- RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_DAMAGED);
- SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_DESTROYED);
+ RemoveFlag(GO_FLAG_DAMAGED);
+ SetFlag(GO_FLAG_DESTROYED);
uint32 modelId = m_goInfo->displayId;
if (DestructibleModelDataEntry const* modelData = sDestructibleModelDataStore.LookupEntry(m_goInfo->building.destructibleData))
@@ -2414,7 +2418,7 @@ void GameObject::SetDestructibleState(GameObjectDestructibleState state, WorldOb
case GO_DESTRUCTIBLE_REBUILDING:
{
EventInform(m_goInfo->building.rebuildingEvent, attackerOrHealer);
- RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_DAMAGED | GO_FLAG_DESTROYED);
+ RemoveFlag(GO_FLAG_DAMAGED | GO_FLAG_DESTROYED);
uint32 modelId = m_goInfo->displayId;
if (DestructibleModelDataEntry const* modelData = sDestructibleModelDataStore.LookupEntry(m_goInfo->building.destructibleData))
@@ -2527,7 +2531,7 @@ void GameObject::UpdateModel()
if (GetMap()->ContainsGameObjectModel(*m_model))
GetMap()->RemoveGameObjectModel(*m_model);
delete m_model;
- m_model = CreateModel();
+ CreateModel();
if (m_model)
GetMap()->InsertGameObjectModel(*m_model);
}
@@ -2762,9 +2766,9 @@ private:
GameObject* _owner;
};
-GameObjectModel* GameObject::CreateModel()
+void GameObject::CreateModel()
{
- return GameObjectModel::Create(std::make_unique<GameObjectModelOwnerImpl>(this), sWorld->GetDataPath());
+ m_model = GameObjectModel::Create(std::make_unique<GameObjectModelOwnerImpl>(this), sWorld->GetDataPath());
}
std::string GameObject::GetDebugInfo() const
diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h
index 0646b53b85f..f3687c19154 100644
--- a/src/server/game/Entities/GameObject/GameObject.h
+++ b/src/server/game/Entities/GameObject/GameObject.h
@@ -20,7 +20,6 @@
#include "Object.h"
#include "GridObject.h"
-#include "DatabaseEnvFwd.h"
#include "GameObjectData.h"
#include "Loot.h"
#include "MapObject.h"
@@ -116,7 +115,7 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject>
QuaternionData GetWorldRotation() const;
// overwrite WorldObject function for proper name localization
- std::string const& GetNameForLocaleIdx(LocaleConstant locale_idx) const override;
+ std::string const& GetNameForLocaleIdx(LocaleConstant locale) const override;
void SaveToDB();
void SaveToDB(uint32 mapid, uint8 spawnMask, uint32 phaseMask);
@@ -126,7 +125,7 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject>
void SetOwnerGUID(ObjectGuid owner)
{
// Owner already found and different than expected owner - remove object from old owner
- if (owner && GetOwnerGUID() && GetOwnerGUID() != owner)
+ if (!owner.IsEmpty() && !GetOwnerGUID().IsEmpty() && GetOwnerGUID() != owner)
{
ABORT();
}
@@ -161,6 +160,13 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject>
void Delete();
void getFishLoot(Loot* loot, Player* loot_owner);
void getFishLootJunk(Loot* loot, Player* loot_owner);
+
+ bool HasFlag(GameObjectFlags flags) const { return Object::HasFlag(GAMEOBJECT_FLAGS, flags); }
+ void SetFlag(GameObjectFlags flags) { Object::SetFlag(GAMEOBJECT_FLAGS, flags); }
+ void RemoveFlag(GameObjectFlags flags) { Object::RemoveFlag(GAMEOBJECT_FLAGS, flags); }
+ void ReplaceAllFlags(GameObjectFlags flags) { SetUInt32Value(GAMEOBJECT_FLAGS, flags); }
+
+ void SetLevel(uint32 level) { SetUInt32Value(GAMEOBJECT_LEVEL, level); }
GameobjectTypes GetGoType() const { return GameobjectTypes(GetByteValue(GAMEOBJECT_BYTES_1, 1)); }
void SetGoType(GameobjectTypes type) { SetByteValue(GAMEOBJECT_BYTES_1, 1, type); }
GOState GetGoState() const { return GOState(GetByteValue(GAMEOBJECT_BYTES_1, 0)); }
@@ -191,14 +197,10 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject>
void SetLootGenerationTime();
uint32 GetLootGenerationTime() const { return m_lootGenerationTime; }
- void AddToSkillupList(ObjectGuid::LowType PlayerGuidLow) { m_SkillupList.push_back(PlayerGuidLow); }
- bool IsInSkillupList(ObjectGuid::LowType PlayerGuidLow) const
+ void AddToSkillupList(ObjectGuid const& PlayerGuidLow) { m_SkillupList.insert(PlayerGuidLow); }
+ bool IsInSkillupList(ObjectGuid const& playerGuid) const
{
- for (std::list<ObjectGuid::LowType>::const_iterator i = m_SkillupList.begin(); i != m_SkillupList.end(); ++i)
- if (*i == PlayerGuidLow)
- return true;
-
- return false;
+ return m_SkillupList.count(playerGuid) > 0;
}
void ClearSkillupList() { m_SkillupList.clear(); }
@@ -206,7 +208,7 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject>
void AddUse() { ++m_usetimes; }
uint32 GetUseCount() const { return m_usetimes; }
- uint32 GetUniqueUseCount() const { return m_unique_users.size(); }
+ uint32 GetUniqueUseCount() const { return uint32(m_unique_users.size()); }
void SaveRespawnTime(uint32 forceDelay = 0);
@@ -234,7 +236,6 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject>
void TriggeringLinkedGameObject(uint32 trapEntry, Unit* target);
bool IsNeverVisible() const override;
-
bool IsAlwaysVisibleFor(WorldObject const* seer) const override;
bool IsInvisibleDueToDespawn() const override;
@@ -250,9 +251,9 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject>
void SetDestructibleState(GameObjectDestructibleState state, WorldObject* attackerOrHealer = nullptr, bool setHealth = false);
GameObjectDestructibleState GetDestructibleState() const
{
- if (HasFlag(GAMEOBJECT_FLAGS, GO_FLAG_DESTROYED))
+ if (HasFlag(GO_FLAG_DESTROYED))
return GO_DESTRUCTIBLE_DESTROYED;
- if (HasFlag(GAMEOBJECT_FLAGS, GO_FLAG_DAMAGED))
+ if (HasFlag(GO_FLAG_DAMAGED))
return GO_DESTRUCTIBLE_DAMAGED;
return GO_DESTRUCTIBLE_INTACT;
}
@@ -303,7 +304,7 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject>
std::string GetDebugInfo() const override;
protected:
- GameObjectModel* CreateModel();
+ void CreateModel();
void UpdateModel(); // updates model in case displayId were changed
uint32 m_spellId;
time_t m_respawnTime; // (secs) time of next respawn (or despawn if GO have owner()),
@@ -318,9 +319,9 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject>
// For traps this: spell casting cooldown, for doors/buttons: reset time.
GOState m_prevGoState; // What state to set whenever resetting
- std::list<ObjectGuid::LowType> m_SkillupList;
+ GuidSet m_SkillupList;
- ObjectGuid m_ritualOwnerGUID; // used for GAMEOBJECT_TYPE_SUMMONING_RITUAL where GO is not summoned (no owner)
+ ObjectGuid m_ritualOwnerGUID; // used for GAMEOBJECT_TYPE_RITUAL where GO is not summoned (no owner)
GuidSet m_unique_users;
uint32 m_usetimes;
@@ -355,6 +356,7 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject>
//! Following check does check 3d distance
return IsInRange(obj->GetPositionX(), obj->GetPositionY(), obj->GetPositionZ(), dist2compare);
}
+
GameObjectAI* m_AI;
bool m_respawnCompatibilityMode;
};
diff --git a/src/server/game/Entities/Transport/Transport.cpp b/src/server/game/Entities/Transport/Transport.cpp
index f1d45b935a4..6e4b0ed7857 100644
--- a/src/server/game/Entities/Transport/Transport.cpp
+++ b/src/server/game/Entities/Transport/Transport.cpp
@@ -87,7 +87,7 @@ bool Transport::Create(ObjectGuid::LowType guidlow, uint32 entry, uint32 mapid,
if (GameObjectOverride const* goOverride = GetGameObjectOverride())
{
SetFaction(goOverride->Faction);
- SetUInt32Value(GAMEOBJECT_FLAGS, goOverride->Flags);
+ ReplaceAllFlags(GameObjectFlags(goOverride->Flags));
}
m_goValue.Transport.PathProgress = 0;
@@ -102,7 +102,7 @@ bool Transport::Create(ObjectGuid::LowType guidlow, uint32 entry, uint32 mapid,
SetLocalRotation(0.0f, 0.0f, 0.0f, 1.0f);
SetParentRotation(QuaternionData());
- m_model = CreateModel();
+ CreateModel();
return true;
}
diff --git a/src/server/game/Entities/Transport/Transport.h b/src/server/game/Entities/Transport/Transport.h
index 6f2b30f7408..cd88a4ede42 100644
--- a/src/server/game/Entities/Transport/Transport.h
+++ b/src/server/game/Entities/Transport/Transport.h
@@ -80,7 +80,7 @@ class TC_GAME_API Transport : public GameObject, public TransportBase
}
uint32 GetTransportPeriod() const override { return GetUInt32Value(GAMEOBJECT_LEVEL); }
- void SetPeriod(uint32 period) { SetUInt32Value(GAMEOBJECT_LEVEL, period); }
+ void SetPeriod(uint32 period) { SetLevel(period); }
uint32 GetTimer() const { return GetGOValue()->Transport.PathProgress; }
KeyFrameVec const& GetKeyFrames() const { return _transportInfo->keyFrames; }
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 5123cad6a23..7140403ce95 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -1871,9 +1871,9 @@ void Spell::EffectOpenLock()
if (gameObjTarget)
{
// Allow one skill-up until respawned
- if (!gameObjTarget->IsInSkillupList(player->GetGUID().GetCounter()) &&
+ if (!gameObjTarget->IsInSkillupList(player->GetGUID()) &&
player->UpdateGatherSkill(skillId, pureSkillValue, reqSkillValue))
- gameObjTarget->AddToSkillupList(player->GetGUID().GetCounter());
+ gameObjTarget->AddToSkillupList(player->GetGUID());
}
else if (itemTarget)
{
@@ -3657,7 +3657,7 @@ void Spell::EffectDuel()
}
pGameObj->SetFaction(caster->GetFaction());
- pGameObj->SetUInt32Value(GAMEOBJECT_LEVEL, caster->GetLevel() + 1);
+ pGameObj->SetLevel(caster->GetLevel() + 1);
int32 duration = m_spellInfo->GetDuration();
pGameObj->SetRespawnTime(duration > 0 ? duration/IN_MILLISECONDS : 0);
pGameObj->SetSpellId(m_spellInfo->Id);
@@ -4000,7 +4000,7 @@ void Spell::EffectSummonObject()
}
go->SetFaction(unitCaster->GetFaction());
- go->SetUInt32Value(GAMEOBJECT_LEVEL, unitCaster->GetLevel());
+ go->SetLevel(unitCaster->GetLevel());
int32 duration = m_spellInfo->GetDuration();
go->SetRespawnTime(duration > 0 ? duration / IN_MILLISECONDS : 0);
go->SetSpellId(m_spellInfo->Id);
diff --git a/src/server/scripts/Battlefield/BattlefieldWG.cpp b/src/server/scripts/Battlefield/BattlefieldWG.cpp
index 9d3c98fdd77..e1302b05b2a 100644
--- a/src/server/scripts/Battlefield/BattlefieldWG.cpp
+++ b/src/server/scripts/Battlefield/BattlefieldWG.cpp
@@ -571,7 +571,7 @@ void BattlefieldWG::OnBattleStart()
// Update faction of relic, only attacker can click on
relic->SetFaction(WintergraspFaction[GetAttackerTeam()]);
// Set in use (not allow to click on before last door is broken)
- relic->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE | GO_FLAG_NOT_SELECTABLE);
+ relic->SetFlag(GO_FLAG_IN_USE | GO_FLAG_NOT_SELECTABLE);
m_titansRelicGUID = relic->GetGUID();
}
else
@@ -1495,7 +1495,7 @@ void BfWGGameObjectBuilding::Destroyed()
go->SetGoState(GO_STATE_ACTIVE);
_wg->SetRelicInteractible(true);
if (_wg->GetRelic())
- _wg->GetRelic()->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE | GO_FLAG_NOT_SELECTABLE);
+ _wg->GetRelic()->RemoveFlag(GO_FLAG_IN_USE | GO_FLAG_NOT_SELECTABLE);
else
TC_LOG_ERROR("bg.battlefield.wg", "Titan Relic not found.");
break;
diff --git a/src/server/scripts/Commands/cs_gobject.cpp b/src/server/scripts/Commands/cs_gobject.cpp
index 5fd73e20f6b..806b195924b 100644
--- a/src/server/scripts/Commands/cs_gobject.cpp
+++ b/src/server/scripts/Commands/cs_gobject.cpp
@@ -610,14 +610,31 @@ public:
if (!objectState)
return false;
- if (objectType < 4)
- object->SetByteValue(GAMEOBJECT_BYTES_1, objectType, *objectState);
- else if (objectType == 4)
- {
- WorldPacket data(SMSG_GAMEOBJECT_CUSTOM_ANIM, 8+4);
- data << object->GetGUID();
- data << static_cast<uint32>(*objectState);
- object->SendMessageToSet(&data, true);
+ switch (objectType)
+ {
+ case 0:
+ object->SetGoState(GOState(*objectState));
+ break;
+ case 1:
+ object->SetGoType(GameobjectTypes(*objectState));
+ break;
+ case 2:
+ object->SetGoArtKit(*objectState);
+ break;
+ case 3:
+ object->SetGoAnimProgress(*objectState);
+ break;
+ case 4:
+ object->SendCustomAnim(*objectState);
+ break;
+ case 5:
+ if (*objectState > GO_DESTRUCTIBLE_REBUILDING)
+ return false;
+
+ object->SetDestructibleState(GameObjectDestructibleState(*objectState));
+ break;
+ default:
+ break;
}
handler->PSendSysMessage("Set gobject type %d state %u", objectType, *objectState);
return true;
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 76c021e3b91..2a66ff8bf05 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp
@@ -194,7 +194,7 @@ struct go_suppression_device : public GameObjectAI
if (me->GetGoState() == GO_STATE_ACTIVE)
me->SetGoState(GO_STATE_READY);
me->SetLootState(GO_READY);
- me->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ me->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
_events.ScheduleEvent(EVENT_SUPPRESSION_CAST, 0s);
}
@@ -204,7 +204,7 @@ struct go_suppression_device : public GameObjectAI
return;
_active = false;
me->SetGoState(GO_STATE_ACTIVE);
- me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ me->SetFlag(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 808b14e45f1..8cc58f8dba2 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
@@ -303,7 +303,7 @@ struct go_chromaggus_lever : public GameObjectAI
_instance->HandleGameObject(ObjectGuid::Empty, true, go);
}
- me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE | GO_FLAG_IN_USE);
+ me->SetFlag(GO_FLAG_NOT_SELECTABLE | GO_FLAG_IN_USE);
me->SetGoState(GO_STATE_ACTIVE);
return true;
diff --git a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
index 138bcc04868..868e8494403 100644
--- a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
+++ b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
@@ -185,7 +185,7 @@ class instance_deadmines : public InstanceMapScript
void LeverStucked()
{
if (GameObject* pDoorLever = instance->GetGameObject(DoorLeverGUID))
- pDoorLever->SetUInt32Value(GAMEOBJECT_FLAGS, 4);
+ pDoorLever->SetFlag(GO_FLAG_INTERACT_COND);
}
void OnCreatureCreate(Creature* creature) override
diff --git a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp
index dbdd15aebf8..697d1a8a214 100644
--- a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp
+++ b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp
@@ -312,7 +312,7 @@ public:
if (GameObject* go = me->SummonGameObject(183410, -533.140f, -105.322f, -156.016f, 0.f, QuaternionData(), 1s))
{
GoSummonList.push_back(go->GetGUID());
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); //We can't use it!
+ go->SetFlag(GO_FLAG_NOT_SELECTABLE); //We can't use it!
}
Summon(3);
break;
@@ -327,7 +327,7 @@ public:
if (GameObject* go = me->SummonGameObject(183410, -542.199f, -96.854f, -155.790f, 0.f, QuaternionData(), 1s))
{
GoSummonList.push_back(go->GetGUID());
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->SetFlag(GO_FLAG_NOT_SELECTABLE);
}
break;
case 5:
@@ -341,7 +341,7 @@ public:
if (GameObject* go = me->SummonGameObject(183410, -507.820f, -103.333f, -151.353f, 0.f, QuaternionData(), 1s))
{
GoSummonList.push_back(go->GetGUID());
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); //We can't use it!
+ go->SetFlag(GO_FLAG_NOT_SELECTABLE); //We can't use it!
Summon(5);
}
break;
@@ -349,7 +349,7 @@ public:
if (GameObject* go = me->SummonGameObject(183410, -511.829f, -86.249f, -151.431f, 0.f, QuaternionData(), 1s))
{
GoSummonList.push_back(go->GetGUID());
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); //We can't use it!
+ go->SetFlag(GO_FLAG_NOT_SELECTABLE); //We can't use it!
}
break;
case 8:
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
index 35394225430..90b87ede00a 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
@@ -130,7 +130,7 @@ public:
me->SetDisableGravity(true);
HandleTerraceDoors(true);
if (GameObject* urn = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_GO_BLACKENED_URN)))
- urn->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
+ urn->RemoveFlag(GO_FLAG_IN_USE);
}
void EnterEvadeMode(EvadeReason why) override
@@ -430,7 +430,7 @@ class go_blackened_urn : public GameObjectScript
bool OnGossipHello(Player* /*player*/) override
{
- if (me->HasFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE))
+ if (me->HasFlag(GO_FLAG_IN_USE))
return false;
if (instance->GetBossState(DATA_NIGHTBANE) == DONE || instance->GetBossState(DATA_NIGHTBANE) == IN_PROGRESS)
@@ -438,7 +438,7 @@ class go_blackened_urn : public GameObjectScript
if (Creature* nightbane = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_NIGHTBANE)))
{
- me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
+ me->SetFlag(GO_FLAG_IN_USE);
nightbane->AI()->DoAction(ACTION_SUMMON);
}
return false;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
index c8a309b3ad3..66decf65ed3 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
@@ -162,7 +162,7 @@ public:
HandleGameObject(StageDoorLeftGUID, true);
HandleGameObject(StageDoorRightGUID, true);
if (GameObject* sideEntrance = instance->GetGameObject(SideEntranceDoor))
- sideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
+ sideEntrance->RemoveFlag(GO_FLAG_LOCKED);
UpdateEncounterStateForKilledCreature(16812, nullptr);
}
break;
@@ -224,9 +224,9 @@ public:
case GO_SIDE_ENTRANCE_DOOR:
SideEntranceDoor = go->GetGUID();
if (GetBossState(DATA_OPERA_PERFORMANCE) == DONE)
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
+ go->SetFlag(GO_FLAG_LOCKED);
else
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
+ go->RemoveFlag(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 34e7a58140c..4311c08efa2 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
@@ -159,7 +159,7 @@ class instance_magisters_terrace : public InstanceMapScript
{
case GO_ESCAPE_ORB:
if (GetBossState(DATA_KAELTHAS_SUNSTRIDER) == DONE)
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
default:
break;
@@ -201,7 +201,7 @@ class instance_magisters_terrace : public InstanceMapScript
case DATA_KAELTHAS_SUNSTRIDER:
if (state == DONE)
if (GameObject* orb = GetGameObject(DATA_ESCAPE_ORB))
- orb->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ orb->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
default:
break;
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
index efa9bfefef5..94963564991 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
@@ -71,7 +71,7 @@ class instance_scarlet_monastery : public InstanceMapScript
_horsemanState = IN_PROGRESS;
for (uint32 data : {DATA_PUMPKIN_SHRINE, DATA_LOOSELY_TURNED_SOIL})
if (GameObject* gob = GetGameObject(data))
- gob->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ gob->SetFlag(GO_FLAG_NOT_SELECTABLE);
instance->SummonCreature(NPC_HEADLESS_HORSEMAN_HEAD, HeadlessHorsemanHeadSpawnPosition);
instance->SummonCreature(NPC_FLAME_BUNNY, BunnySpawnPosition);
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp b/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp
index c4a2df94fe2..7c14a894836 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp
@@ -198,7 +198,7 @@ class instance_stratholme : public InstanceMapScript
break;
case GO_GAUNTLET_GATE1:
//weird, but unless flag is set, client will not respond as expected. DB bug?
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
+ go->SetFlag(GO_FLAG_LOCKED);
gauntletGate1GUID = go->GetGUID();
break;
case GO_ZIGGURAT1:
diff --git a/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp b/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
index 8028bcce7fc..47ec2889161 100644
--- a/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
+++ b/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
@@ -178,7 +178,7 @@ public:
void UseStatue(GameObject* go)
{
go->SummonGameObject(GO_ATALAI_LIGHT1, *go, QuaternionData(), 0s);
- go->SetUInt32Value(GAMEOBJECT_FLAGS, 4);
+ go->SetFlag(GO_FLAG_INTERACT_COND);
}
void UseLastStatue(GameObject* go)
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
index ec21f8fddc5..97148f8e5e7 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
@@ -121,7 +121,7 @@ class instance_uldaman : public InstanceMapScript
case GO_ANCIENT_VAULT_DOOR:
go->SetGoState(GO_STATE_READY);
- go->SetUInt32Value(GAMEOBJECT_FLAGS, 33);
+ go->ReplaceAllFlags(GO_FLAG_IN_USE | GO_FLAG_NODESPAWN);
ancientVaultDoor = go->GetGUID();
if (m_auiEncounter[1] == DONE)
@@ -141,7 +141,7 @@ class instance_uldaman : public InstanceMapScript
if (m_auiEncounter[2] == DONE)
{
HandleGameObject(ObjectGuid::Empty, true, go);
- go->SetUInt32Value(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND);
+ go->SetFlag(GO_FLAG_INTERACT_COND);
}
break;
}
@@ -171,7 +171,7 @@ class instance_uldaman : public InstanceMapScript
if (!go)
return;
- go->SetUInt32Value(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND);
+ go->SetFlag(GO_FLAG_INTERACT_COND);
}
void ActivateStoneKeepers()
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
index d0bb49544f0..d680e0b7c55 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
@@ -244,14 +244,14 @@ class npc_harrison_jones : public CreatureScript
break;
case GONG_EVENT_3:
if (GameObject* gong = instance->GetGameObject(GO_STRANGE_GONG))
- gong->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ gong->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
_gongEvent = GONG_EVENT_4;
_gongTimer = 105000;
break;
case GONG_EVENT_4:
me->RemoveAura(SPELL_BANGING_THE_GONG);
if (GameObject* gong = instance->GetGameObject(GO_STRANGE_GONG))
- gong->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ gong->SetFlag(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 02150827d45..3291530c5d3 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
@@ -160,7 +160,7 @@ struct boss_arlokk : public BossAI
{
BossAI::EnterEvadeMode(why);
if (GameObject* object = instance->GetGameObject(DATA_GONG_BETHEKK))
- object->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ object->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
me->DespawnOrUnsummon(4s);
}
@@ -426,7 +426,7 @@ struct go_gong_of_bethekk : public GameObjectAI
bool OnGossipHello(Player* /*player*/) override
{
- me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ me->SetFlag(GO_FLAG_NOT_SELECTABLE);
me->SendCustomAnim(0);
me->SummonCreature(NPC_ARLOKK, PosSummonArlokk[0], TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10min);
return true;
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
index 1452b440ce3..120ff0e3f61 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
@@ -73,9 +73,9 @@ class instance_zulgurub : public InstanceMapScript
{
case GO_GONG_OF_BETHEKK:
if (GetBossState(DATA_ARLOKK) == DONE)
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->SetFlag(GO_FLAG_NOT_SELECTABLE);
else
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
default:
break;
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
index 2949d9ed40b..0ce911b30ee 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
@@ -57,7 +57,7 @@ struct go_blackfathom_fire : public GameObjectAI
bool OnGossipHello(Player* /*player*/) override
{
me->SetGoState(GO_STATE_ACTIVE);
- me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ me->SetFlag(GO_FLAG_NOT_SELECTABLE);
instance->SetData(DATA_FIRE, instance->GetData(DATA_FIRE) + 1);
return true;
}
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
index 5bd2afeb68f..05e0fa32767 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
@@ -106,12 +106,12 @@ public:
case GO_SHRINE_OF_GELIHAST:
shrineOfGelihastGUID = go->GetGUID();
if (GetBossState(DATA_GELIHAST) != DONE)
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->SetFlag(GO_FLAG_NOT_SELECTABLE);
break;
case GO_ALTAR_OF_THE_DEEPS:
altarOfTheDeepsGUID = go->GetGUID();
if (GetBossState(DATA_AKU_MAI) != DONE)
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->SetFlag(GO_FLAG_NOT_SELECTABLE);
break;
case GO_AKU_MAI_DOOR:
if (GetBossState(DATA_AKU_MAI) == DONE)
@@ -189,13 +189,13 @@ public:
case DATA_GELIHAST:
if (state == DONE)
if (GameObject* go = instance->GetGameObject(shrineOfGelihastGUID))
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
case DATA_AKU_MAI:
if (state == DONE)
if (GameObject* go = instance->GetGameObject(altarOfTheDeepsGUID))
{
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
go->SummonCreature(NPC_MORRIDUNE, SpawnsLocation[10], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5min);
}
break;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/npc_arthas.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/npc_arthas.cpp
index fb1cac8b123..9caecbebffd 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/npc_arthas.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/npc_arthas.cpp
@@ -1419,7 +1419,7 @@ public:
malganis->CastSpell(malganis, SPELL_MALGANIS_QUEST_CREDIT, true);
malganis->CastSpell(malganis, SPELL_MALGANIS_KILL_CREDIT, true);
if (GameObject* chest = malganis->FindNearestGameObject(RAID_MODE(GO_CHEST_NORMAL, GO_CHEST_HEROIC), 100.0f))
- chest->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ chest->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
}
events.ScheduleEvent(RP5_EVENT_MALGANIS12, 3s);
events.ScheduleEvent(RP5_EVENT_MALGANIS_LEAVE, 19s);
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
index 78610296335..59b8637227e 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
@@ -72,7 +72,7 @@ public:
case GO_GONG:
goGongGUID = gameObject->GetGUID();
if (GetBossState(DATA_TUTEN_KASH) == DONE)
- gameObject->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ gameObject->SetFlag(GO_FLAG_NOT_SELECTABLE);
break;
case GO_IDOL_OVEN_FIRE:
case GO_IDOL_CUP_FIRE:
@@ -115,7 +115,7 @@ public:
case IN_PROGRESS:
{
if (GameObject* go = instance->GetGameObject(goGongGUID))
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->SetFlag(GO_FLAG_NOT_SELECTABLE);
switch (gongWave)
{
@@ -153,7 +153,7 @@ public:
{
fiendsKilled = 0;
if (GameObject* go = instance->GetGameObject(goGongGUID))
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
}
break;
case NPC_TOMB_REAVER:
@@ -161,7 +161,7 @@ public:
{
reaversKilled = 0;
if (GameObject* go = instance->GetGameObject(goGongGUID))
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
}
break;
}
diff --git a/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp b/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
index f8784986981..e02ae696e37 100644
--- a/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
@@ -79,7 +79,7 @@ public:
if (WardKeeperDeath == WARD_KEEPERS_NR)
if (GameObject* go = instance->GetGameObject(DoorWardGUID))
{
- go->SetUInt32Value(GAMEOBJECT_FLAGS, 33);
+ go->ReplaceAllFlags(GO_FLAG_IN_USE | GO_FLAG_NODESPAWN);
go->SetGoState(GO_STATE_ACTIVE);
}
}
diff --git a/src/server/scripts/Kalimdor/zone_ashenvale.cpp b/src/server/scripts/Kalimdor/zone_ashenvale.cpp
index d7e72ff0751..f5fe45af7eb 100644
--- a/src/server/scripts/Kalimdor/zone_ashenvale.cpp
+++ b/src/server/scripts/Kalimdor/zone_ashenvale.cpp
@@ -258,7 +258,7 @@ public:
if (GameObject* go = GetClosestGameObjectWithEntry(me, GO_NAGA_BRAZIER, INTERACTION_DISTANCE*2))
{
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(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 e012dfd4e82..6aa57bb75cc 100644
--- a/src/server/scripts/Kalimdor/zone_silithus.cpp
+++ b/src/server/scripts/Kalimdor/zone_silithus.cpp
@@ -1418,7 +1418,7 @@ class go_wind_stone : public GameObjectScript
void Reset() override
{
// Allow despawning
- me->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NODESPAWN);
+ me->RemoveFlag(GO_FLAG_NODESPAWN);
isSummoning = false;
}
};
diff --git a/src/server/scripts/Kalimdor/zone_winterspring.cpp b/src/server/scripts/Kalimdor/zone_winterspring.cpp
index 40d9173053a..09e02e55558 100644
--- a/src/server/scripts/Kalimdor/zone_winterspring.cpp
+++ b/src/server/scripts/Kalimdor/zone_winterspring.cpp
@@ -308,13 +308,13 @@ public:
{
if (GameObject* go = GetClosestGameObjectWithEntry(me, GO_ELUNE_ALTAR, 10.0f))
{
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(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->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
// Yell and set escort to pause
Talk(SAY_REACH_TORCH);
@@ -585,7 +585,7 @@ public:
if (npc_ranshalla::npc_ranshallaAI* escortAI = dynamic_cast<npc_ranshalla::npc_ranshallaAI*>(ranshalla->AI()))
escortAI->DoContinueEscort(isAltar);
}
- me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ me->SetFlag(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 dc888672538..af90f1defc3 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
@@ -387,7 +387,7 @@ struct go_prince_taldaram_sphere : public GameObjectAI
Creature* princeTaldaram = instance->GetCreature(DATA_PRINCE_TALDARAM);
if (princeTaldaram && princeTaldaram->IsAlive())
{
- me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ me->SetFlag(GO_FLAG_NOT_SELECTABLE);
me->SetGoState(GO_STATE_ACTIVE);
switch (me->GetEntry())
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp
index db1ba1b3242..13b6c12c5b4 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp
@@ -83,19 +83,19 @@ class instance_ahnkahet : public InstanceMapScript
if (SpheresState[0])
{
go->SetGoState(GO_STATE_ACTIVE);
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->SetFlag(GO_FLAG_NOT_SELECTABLE);
}
else
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
case GO_SPHERE_2:
if (SpheresState[1])
{
go->SetGoState(GO_STATE_ACTIVE);
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->SetFlag(GO_FLAG_NOT_SELECTABLE);
}
else
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
default:
break;
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
index 0f0767189c7..5a656477ecc 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
@@ -210,7 +210,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET, SPELL_CHAMPIONS_KILLED_IN_MINUTE);
DoRespawnGameObject(GetGuidData(DATA_CRUSADERS_CHEST), 7_days);
if (GameObject* cache = GetGameObject(DATA_CRUSADERS_CHEST))
- cache->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ cache->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
if (Creature* fordring = GetCreature(DATA_FORDRING))
fordring->AI()->DoAction(ACTION_CHAMPIONS_DEFEATED);
EventStage = 3100;
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 9fcc7df1730..a623bde0876 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
@@ -340,7 +340,7 @@ class instance_halls_of_reflection : public InstanceMapScript
break;
case DONE:
if (GameObject* chest = instance->GetGameObject(CaptainsChestGUID))
- chest->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN);
+ chest->RemoveFlag(GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN);
DoUseDoorOrButton(CaveInGUID, 15);
diff --git a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
index b792c466c4a..0af07f1401b 100644
--- a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
+++ b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
@@ -99,7 +99,7 @@ class instance_gundrak : public InstanceMapScript
if (GetBossState(DATA_SLAD_RAN) == DONE)
{
if (SladRanStatueState == GO_STATE_ACTIVE)
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
else
go->SetGoState(GO_STATE_ACTIVE);
}
@@ -108,7 +108,7 @@ class instance_gundrak : public InstanceMapScript
if (GetBossState(DATA_MOORABI) == DONE)
{
if (MoorabiStatueState == GO_STATE_ACTIVE)
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
else
go->SetGoState(GO_STATE_ACTIVE);
}
@@ -117,7 +117,7 @@ class instance_gundrak : public InstanceMapScript
if (GetBossState(DATA_DRAKKARI_COLOSSUS) == DONE)
{
if (DrakkariColossusStatueState == GO_STATE_ACTIVE)
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
else
go->SetGoState(GO_STATE_ACTIVE);
}
@@ -173,17 +173,17 @@ class instance_gundrak : public InstanceMapScript
case DATA_SLAD_RAN:
if (state == DONE)
if (GameObject* go = GetGameObject(DATA_SLAD_RAN_ALTAR))
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
case DATA_DRAKKARI_COLOSSUS:
if (state == DONE)
if (GameObject* go = GetGameObject(DATA_DRAKKARI_COLOSSUS_ALTAR))
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
case DATA_MOORABI:
if (state == DONE)
if (GameObject* go = GetGameObject(DATA_MOORABI_ALTAR))
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
default:
break;
@@ -357,7 +357,7 @@ struct go_gundrak_altar : public GameObjectAI
bool OnGossipHello(Player* /*player*/) override
{
- me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ me->SetFlag(GO_FLAG_NOT_SELECTABLE);
me->SetGoState(GO_STATE_ACTIVE);
instance->SetData(DATA_STATUE_ACTIVATE, me->GetEntry());
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
index a03f6eb844e..6c8aea53349 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
@@ -757,7 +757,7 @@ struct npc_icc_orb_controller : public ScriptedAI
UpdateValidGuids();
ScheduleVisualChannel(true);
if (GameObject* orb = me->FindNearestGameObject(GO_EMPOWERING_BLOOD_ORB, 5.0f))
- orb->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ orb->SetFlag(GO_FLAG_NOT_SELECTABLE);
}
}
@@ -825,7 +825,7 @@ struct DarkFallenAI : public ScriptedAI
{
if (action == ACTION_SIPHON_INTERRUPTED)
if (GameObject* orb = me->FindNearestGameObject(GO_EMPOWERING_BLOOD_ORB, 10.0f))
- orb->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ orb->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
}
void SetGUID(ObjectGuid const& guid, int32 id) override
@@ -1132,7 +1132,7 @@ struct go_empowering_blood_orb : public GameObjectAI
void HandleObjectUse()
{
- me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
+ me->SetFlag(GO_FLAG_IN_USE);
me->SetGoAnimProgress(255);
me->SetGoState(GO_STATE_DESTROYED);
if (Creature* trigger = ObjectAccessor::GetCreature(*me, _triggerGuid))
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
index 5c781128fe5..849d8c8b54f 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
@@ -165,12 +165,12 @@ class instance_icecrown_citadel : public InstanceMapScript
{
if (usable)
{
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
go->SetGoState(GO_STATE_ACTIVE);
}
else
{
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->SetFlag(GO_FLAG_NOT_SELECTABLE);
go->SetGoState(GO_STATE_READY);
}
}
@@ -535,7 +535,7 @@ class instance_icecrown_citadel : public InstanceMapScript
LadyDeathwisperElevatorGUID = go->GetGUID();
if (GetBossState(DATA_LADY_DEATHWHISPER) == DONE)
{
- go->SetUInt32Value(GAMEOBJECT_LEVEL, 0);
+ go->SetLevel(0);
go->SetGoState(GO_STATE_READY);
}
break;
@@ -648,7 +648,7 @@ class instance_icecrown_citadel : public InstanceMapScript
case GO_CACHE_OF_THE_DREAMWALKER_25H:
if (Creature* valithria = instance->GetCreature(ValithriaDreamwalkerGUID))
go->SetLootRecipient(valithria->GetLootRecipient(), valithria->GetLootRecipientGroup());
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN);
+ go->RemoveFlag(GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN);
break;
case GO_ARTHAS_PLATFORM:
// this enables movement at The Frozen Throne, when printed this value is 0.000000f
@@ -880,7 +880,7 @@ class instance_icecrown_citadel : public InstanceMapScript
if (GameObject* elevator = instance->GetGameObject(LadyDeathwisperElevatorGUID))
{
- elevator->SetUInt32Value(GAMEOBJECT_LEVEL, 0);
+ elevator->SetLevel(0);
elevator->SetGoState(GO_STATE_READY);
}
@@ -895,7 +895,7 @@ class instance_icecrown_citadel : public InstanceMapScript
SetTeleporterState(teleporter, true);
if (GameObject* loot = instance->GetGameObject(GunshipArmoryGUID))
- loot->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN);
+ loot->RemoveFlag(GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN);
}
else if (state == FAIL)
Events.ScheduleEvent(EVENT_RESPAWN_GUNSHIP, 30s);
@@ -909,7 +909,7 @@ class instance_icecrown_citadel : public InstanceMapScript
{
if (Creature* deathbringer = instance->GetCreature(DeathbringerSaurfangGUID))
loot->SetLootRecipient(deathbringer->GetLootRecipient(), deathbringer->GetLootRecipientGroup());
- loot->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN);
+ loot->RemoveFlag(GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN);
}
if (GameObject* teleporter = instance->GetGameObject(TeleporterUpperSpireGUID))
diff --git a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
index 0fe0233fed1..9142b003755 100644
--- a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
@@ -214,23 +214,23 @@ class instance_naxxramas : public InstanceMapScript
break;
case GO_NAXX_PORTAL_ARACHNID:
if (GetBossState(BOSS_MAEXXNA) == DONE)
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
case GO_NAXX_PORTAL_CONSTRUCT:
if (GetBossState(BOSS_THADDIUS) == DONE)
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
case GO_NAXX_PORTAL_PLAGUE:
if (GetBossState(BOSS_LOATHEB) == DONE)
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
case GO_NAXX_PORTAL_MILITARY:
if (GetBossState(BOSS_HORSEMEN) == DONE)
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
case GO_KELTHUZAD_THRONE:
if (GetBossState(BOSS_KELTHUZAD) == DONE)
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
case GO_BIRTH:
if (hadSapphironBirth || GetBossState(BOSS_SAPPHIRON) == DONE)
@@ -355,7 +355,7 @@ class instance_naxxramas : public InstanceMapScript
if (state == DONE)
{
if (GameObject* teleporter = GetGameObject(DATA_NAXX_PORTAL_ARACHNID))
- teleporter->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ teleporter->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6s);
}
@@ -364,7 +364,7 @@ class instance_naxxramas : public InstanceMapScript
if (state == DONE)
{
if (GameObject* teleporter = GetGameObject(DATA_NAXX_PORTAL_PLAGUE))
- teleporter->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ teleporter->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6s);
}
@@ -373,7 +373,7 @@ class instance_naxxramas : public InstanceMapScript
if (state == DONE)
{
if (GameObject* teleporter = GetGameObject(DATA_NAXX_PORTAL_CONSTRUCT))
- teleporter->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ teleporter->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6s);
}
@@ -388,11 +388,11 @@ class instance_naxxramas : public InstanceMapScript
if (GameObject* horsemenChest = instance->GetGameObject(HorsemenChestGUID))
{
horsemenChest->SetRespawnTime(horsemenChest->GetRespawnDelay());
- horsemenChest->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ horsemenChest->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
}
if (GameObject* teleporter = GetGameObject(DATA_NAXX_PORTAL_MILITARY))
- teleporter->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ teleporter->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6s);
}
@@ -405,7 +405,7 @@ class instance_naxxramas : public InstanceMapScript
case BOSS_KELTHUZAD:
if (state == DONE)
if (GameObject* throne = GetGameObject(DATA_KELTHUZAD_THRONE))
- throne->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ throne->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
default:
break;
diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
index 4e882bb0a55..b8b6f9fd6c9 100644
--- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
+++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
@@ -1898,7 +1898,7 @@ class spell_alexstrasza_bunny_destroy_platform_event : public SpellScript
Creature* caster = GetCaster()->ToCreature();
if (InstanceScript* instance = caster->GetInstanceScript())
if (GameObject* platform = caster->GetMap()->GetGameObject(instance->GetGuidData(DATA_PLATFORM)))
- platform->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_DESTROYED);
+ platform->SetFlag(GO_FLAG_DESTROYED);
}
void HandleScript(SpellEffIndex /*effIndex*/)
@@ -2119,13 +2119,13 @@ private:
if (Creature* target = GetTarget()->ToCreature())
if (InstanceScript* instance = GetCaster()->GetInstanceScript())
{
- _alexstraszaGift->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ _alexstraszaGift->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
if (GameObject* heartMagic = target->GetMap()->GetGameObject(instance->GetGuidData(DATA_HEART_OF_MAGIC_GUID)))
{
- heartMagic->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ heartMagic->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
// TO DO: This is hack, core doesn't have support for these flags,
// remove line below if it ever gets supported otherwise object won't be accessible.
- heartMagic->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND);
+ heartMagic->RemoveFlag(GO_FLAG_INTERACT_COND);
}
}
}
diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
index 9fca1baef71..fffe0d9a804 100644
--- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
+++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
@@ -83,7 +83,7 @@ public:
SpawnGameObject(GO_EXIT_PORTAL, exitPortalPosition);
if (GameObject* platform = instance->GetGameObject(platformGUID))
- platform->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_DESTROYED);
+ platform->RemoveFlag(GO_FLAG_DESTROYED);
}
else if (state == DONE)
SpawnGameObject(GO_EXIT_PORTAL, exitPortalPosition);
@@ -173,7 +173,7 @@ public:
alexstraszaBunny->CastSpell(alexstraszaBunny, SPELL_IRIS_OPENED);
if (GameObject* iris = instance->GetGameObject(irisGUID))
- iris->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
+ iris->SetFlag(GO_FLAG_IN_USE);
if (Creature* malygos = instance->GetCreature(malygosGUID))
malygos->AI()->DoAction(0); // ACTION_LAND_ENCOUNTER_START
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
index 5f7f61722be..b0517b3f522 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
@@ -220,7 +220,7 @@ struct containment_sphere : public GameObjectAI
if (keristrasza && keristrasza->IsAlive())
{
// maybe these are hacks :(
- me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ me->SetFlag(GO_FLAG_NOT_SELECTABLE);
me->SetGoState(GO_STATE_ACTIVE);
ENSURE_AI(boss_keristrasza, keristrasza->AI())->CheckContainmentSpheres(true);
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
index a413a5a7664..c6e9c27115b 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
@@ -101,17 +101,17 @@ class instance_nexus : public InstanceMapScript
case GO_ANOMALUS_CONTAINMENT_SPHERE:
AnomalusContainmentSphere = go->GetGUID();
if (GetBossState(DATA_ANOMALUS) == DONE)
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
case GO_ORMOROKS_CONTAINMENT_SPHERE:
OrmoroksContainmentSphere = go->GetGUID();
if (GetBossState(DATA_ORMOROK) == DONE)
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
case GO_TELESTRAS_CONTAINMENT_SPHERE:
TelestrasContainmentSphere = go->GetGUID();
if (GetBossState(DATA_MAGUS_TELESTRA) == DONE)
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
default:
break;
@@ -129,21 +129,21 @@ class instance_nexus : public InstanceMapScript
if (state == DONE)
{
if (GameObject* sphere = instance->GetGameObject(TelestrasContainmentSphere))
- sphere->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ sphere->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
}
break;
case DATA_ANOMALUS:
if (state == DONE)
{
if (GameObject* sphere = instance->GetGameObject(AnomalusContainmentSphere))
- sphere->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ sphere->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
}
break;
case DATA_ORMOROK:
if (state == DONE)
{
if (GameObject* sphere = instance->GetGameObject(OrmoroksContainmentSphere))
- sphere->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ sphere->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
}
break;
default:
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
index 406c6adf578..fed6a8b9d65 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
@@ -212,7 +212,7 @@ class instance_oculus : public InstanceMapScript
if (GameObject* cache = instance->GetGameObject(EregosCacheGUID))
{
cache->SetRespawnTime(cache->GetRespawnDelay());
- cache->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ cache->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
}
}
break;
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp
index 9e7dd6a3237..22c217d3099 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp
@@ -95,7 +95,7 @@ class instance_halls_of_stone : public InstanceMapScript
case GO_TRIBUNAL_CHEST_HERO:
TribunalChestGUID = go->GetGUID();
if (GetBossState(DATA_TRIBUNAL_OF_AGES) == DONE)
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
case GO_TRIBUNAL_SKY_FLOOR:
TribunalSkyFloorGUID = go->GetGUID();
@@ -149,7 +149,7 @@ class instance_halls_of_stone : public InstanceMapScript
if (state == DONE)
{
if (GameObject* go = instance->GetGameObject(TribunalChestGUID))
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
}
break;
default:
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 b38be3aa41b..e618905462b 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
@@ -974,7 +974,7 @@ struct go_celestial_planetarium_access : public GameObjectAI
bool OnReportUse(Player* player) override
{
- if (me->HasFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE))
+ if (me->HasFlag(GO_FLAG_IN_USE))
return true;
bool hasKey = true;
@@ -998,7 +998,7 @@ struct go_celestial_planetarium_access : public GameObjectAI
return false;
// Start Algalon event
- me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
+ me->SetFlag(GO_FLAG_IN_USE);
_events.ScheduleEvent(EVENT_DESPAWN_CONSOLE, 5s);
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_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
index 174795375dc..068cd1b6201 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
@@ -432,7 +432,7 @@ class boss_mimiron : public CreatureScript
DoCast(me->GetVehicleBase(), SPELL_SEAT_6);
if (GameObject* button = instance->GetGameObject(DATA_MIMIRON_BUTTON))
- button->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ button->SetFlag(GO_FLAG_NOT_SELECTABLE);
if (_fireFighter)
events.ScheduleEvent(EVENT_SUMMON_FLAMES, 3s);
@@ -474,7 +474,7 @@ class boss_mimiron : public CreatureScript
if (GameObject* button = instance->GetGameObject(DATA_MIMIRON_BUTTON))
{
button->SetGoState(GO_STATE_READY);
- button->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ button->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
}
_fireFighter = false;
@@ -1683,14 +1683,14 @@ class go_mimiron_hardmode_button : public GameObjectScript
bool OnGossipHello(Player* /*player*/) override
{
- if (me->HasFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE))
+ if (me->HasFlag(GO_FLAG_NOT_SELECTABLE))
return true;
if (Creature* computer = instance->GetCreature(DATA_COMPUTER))
computer->AI()->DoAction(DO_ACTIVATE_COMPUTER);
me->SetGoState(GO_STATE_ACTIVE);
- me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ me->SetFlag(GO_FLAG_NOT_SELECTABLE);
return true;
}
};
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
index a1a43dc20d8..d9a88456fe0 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
@@ -1515,7 +1515,7 @@ public:
bool OnGossipHello(Player* /*player*/) override
{
- me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ me->SetFlag(GO_FLAG_NOT_SELECTABLE);
if (Creature* controller = me->FindNearestCreature(NPC_RAZORSCALE_CONTROLLER, 5.0f))
{
// Prevent 2 players clicking at "same time"
@@ -1555,7 +1555,7 @@ public:
void Reset() override
{
- me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ me->SetFlag(GO_FLAG_NOT_SELECTABLE);
_scheduler.Schedule(Seconds(1), [this](TaskContext /*context*/)
{
me->UseDoorOrButton();
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
index d3e8ba7045f..da38251aecc 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
@@ -488,7 +488,7 @@ class boss_thorim : public CreatureScript
me->SummonCreature(s.entry, s.pos, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 3s);
if (GameObject* lever = instance->GetGameObject(DATA_THORIM_LEVER))
- lever->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ lever->SetFlag(GO_FLAG_NOT_SELECTABLE);
// Remove trigger auras
if (Creature* pillar = ObjectAccessor::GetCreature(*me, _activePillarGUID))
@@ -636,7 +636,7 @@ class boss_thorim : public CreatureScript
}
if (GameObject* lever = instance->GetGameObject(DATA_THORIM_LEVER))
- lever->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ lever->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
// Summon Sif
me->SummonCreature(NPC_SIF, SifSpawnPosition);
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
index f2b06039667..518ff37bfeb 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
@@ -511,7 +511,7 @@ class instance_ulduar : public InstanceMapScript
case GO_CELESTIAL_PLANETARIUM_ACCESS_10:
case GO_CELESTIAL_PLANETARIUM_ACCESS_25:
if (_algalonSummoned)
- gameObject->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
+ gameObject->SetFlag(GO_FLAG_IN_USE);
break;
case GO_DOODAD_UL_SIGILDOOR_01:
case GO_DOODAD_UL_SIGILDOOR_02:
@@ -646,7 +646,7 @@ class instance_ulduar : public InstanceMapScript
if (GameObject* gameObject = instance->GetGameObject(KologarnChestGUID))
{
gameObject->SetRespawnTime(gameObject->GetRespawnDelay());
- gameObject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ gameObject->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
}
HandleGameObject(KologarnBridgeGUID, false);
}
@@ -656,7 +656,7 @@ class instance_ulduar : public InstanceMapScript
{
if (GameObject* HodirRareCache = instance->GetGameObject(HodirRareCacheGUID))
if (GetData(DATA_HODIR_RARE_CACHE))
- HodirRareCache->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ HodirRareCache->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
if (GameObject* HodirChest = instance->GetGameObject(HodirChestGUID))
HodirChest->SetRespawnTime(HodirChest->GetRespawnDelay());
@@ -672,7 +672,7 @@ class instance_ulduar : public InstanceMapScript
{
cache->SetLootRecipient(thorim->GetLootRecipient());
cache->SetRespawnTime(cache->GetRespawnDelay());
- cache->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN);
+ cache->RemoveFlag(GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN);
}
}
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
index ef8a950ca73..995b690d721 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
@@ -202,7 +202,7 @@ struct boss_palehoof : public BossAI
if (GameObject* go = instance->GetGameObject(DATA_GORTOK_PALEHOOF_SPHERE))
{
go->SetGoState(GO_STATE_READY);
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
}
}
@@ -512,7 +512,7 @@ struct go_palehoof_sphere : public GameObjectAI
{
if (palehoof->IsAlive() && instance->GetBossState(DATA_GORTOK_PALEHOOF) != DONE)
{
- me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ me->SetFlag(GO_FLAG_NOT_SELECTABLE);
me->SetGoState(GO_STATE_ACTIVE);
palehoof->AI()->DoAction(ACTION_START_ENCOUNTER);
}
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp
index 3448b9a3ee3..7b6cc204e86 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp
@@ -78,7 +78,7 @@ class instance_utgarde_pinnacle : public InstanceMapScript
if (go->GetEntry() == GO_GORTOK_PALEHOOF_SPHERE)
if (GetBossState(DATA_GORTOK_PALEHOOF) == DONE)
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->SetFlag(GO_FLAG_NOT_SELECTABLE);
}
void SetGuidData(uint32 type, ObjectGuid data) override
diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
index 83c9e61411e..7260b8fa1e1 100644
--- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
@@ -409,7 +409,7 @@ class instance_violet_hold : public InstanceMapScript
for (uint8 i = 0; i < ActivationCrystalCount; ++i)
if (GameObject* crystal = instance->GetGameObject(ActivationCrystalGUIDs[i]))
- crystal->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ crystal->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
Scheduler.Schedule(Seconds(3), [this](TaskContext task)
{
@@ -422,7 +422,7 @@ class instance_violet_hold : public InstanceMapScript
if (GameObject* mainDoor = GetGameObject(DATA_MAIN_DOOR))
{
mainDoor->SetGoState(GO_STATE_ACTIVE);
- mainDoor->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
+ mainDoor->RemoveFlag(GO_FLAG_LOCKED);
}
DoUpdateWorldState(WORLD_STATE_VH_SHOW, 0);
@@ -431,21 +431,21 @@ class instance_violet_hold : public InstanceMapScript
for (uint8 i = 0; i < ActivationCrystalCount; ++i)
if (GameObject* crystal = instance->GetGameObject(ActivationCrystalGUIDs[i]))
- crystal->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ crystal->SetFlag(GO_FLAG_NOT_SELECTABLE);
}
else if (data == DONE)
{
if (GameObject* mainDoor = GetGameObject(DATA_MAIN_DOOR))
{
mainDoor->SetGoState(GO_STATE_ACTIVE);
- mainDoor->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
+ mainDoor->RemoveFlag(GO_FLAG_LOCKED);
}
DoUpdateWorldState(WORLD_STATE_VH_SHOW, 0);
for (uint8 i = 0; i < ActivationCrystalCount; ++i)
if (GameObject* crystal = instance->GetGameObject(ActivationCrystalGUIDs[i]))
- crystal->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ crystal->SetFlag(GO_FLAG_NOT_SELECTABLE);
if (Creature* sinclari = GetCreature(DATA_SINCLARI))
sinclari->AI()->DoAction(ACTION_SINCLARI_OUTRO);
diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
index 1636edf75f7..83fce5afc3f 100644
--- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
@@ -502,7 +502,7 @@ struct npc_sinclari_vh : public ScriptedAI
if (GameObject* mainDoor = _instance->GetGameObject(DATA_MAIN_DOOR))
{
mainDoor->SetGoState(GO_STATE_READY);
- mainDoor->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
+ mainDoor->SetFlag(GO_FLAG_LOCKED);
}
task.Repeat(Seconds(5));
break;
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 1c75672b55d..bd892c3aca5 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp
@@ -73,7 +73,7 @@ class instance_sethekk_halls : public InstanceMapScript
/// gameobject should have GO_DYNFLAG_LO_ACTIVATE too, which makes gobs interactable with GO_FLAG_INTERACT_COND
/// so just removed GO_FLAG_INTERACT_COND
if (GameObject* coffer = GetGameObject(DATA_TALON_KING_COFFER))
- coffer->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE);
+ coffer->RemoveFlag(GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE);
}
break;
default:
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 46d937d90b4..c18b8dfae5d 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp
@@ -33,7 +33,7 @@ struct go_main_chambers_access_panel : public GameObjectAI
if (Creature* controller = _instance->GetCreature(DATA_DOOR_CONTROLLER))
controller->AI()->Talk(CONTROLLER_TEXT_ACESS_USED);
_instance->SetData(ACTION_OPEN_DOOR, 0);
- me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ me->SetFlag(GO_FLAG_NOT_SELECTABLE);
me->SetGoState(GO_STATE_ACTIVE);
return true;
}
@@ -91,7 +91,7 @@ class instance_steam_vault : public InstanceMapScript
if (GameObject* mainDoor = GetGameObject(DATA_MAIN_DOOR))
{
HandleGameObject(ObjectGuid::Empty, true, mainDoor);
- mainDoor->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ mainDoor->SetFlag(GO_FLAG_NOT_SELECTABLE);
}
}
}
@@ -121,12 +121,12 @@ class instance_steam_vault : public InstanceMapScript
case DATA_HYDROMANCER_THESPIA:
if (state == DONE)
if (GameObject* panel = GetGameObject(DATA_ACCESS_PANEL_HYDRO))
- panel->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ panel->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
case DATA_MEKGINEER_STEAMRIGGER:
if (state == DONE)
if (GameObject* panel = GetGameObject(DATA_ACCESS_PANEL_MEK))
- panel->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ panel->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
default:
break;
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
index ea12d36f5fd..6f4cb101c31 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
@@ -132,7 +132,7 @@ class boss_broggok : public CreatureScript
instance->SetBossState(DATA_BROGGOK, NOT_STARTED);
if (GameObject * lever = instance->GetGameObject(DATA_BROGGOK_LEVER))
{
- lever->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE | GO_FLAG_IN_USE);
+ lever->RemoveFlag(GO_FLAG_NOT_SELECTABLE | GO_FLAG_IN_USE);
lever->SetGoState(GO_STATE_READY);
}
break;
@@ -261,7 +261,7 @@ class go_broggok_lever : public GameObjectScript
broggok->AI()->DoAction(ACTION_PREPARE_BROGGOK);
}
- me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE | GO_FLAG_IN_USE);
+ me->SetFlag(GO_FLAG_NOT_SELECTABLE | GO_FLAG_IN_USE);
me->SetGoState(GO_STATE_ACTIVE);
return true;
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 eddf4d2bff4..839c478b0e0 100644
--- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp
@@ -63,7 +63,7 @@ class instance_ramparts : public InstanceMapScript
case DATA_NAZAN:
if (GetBossState(DATA_VAZRUDEN) == DONE && GetBossState(DATA_NAZAN) == DONE)
if (GameObject* chest = instance->GetGameObject(felIronChestGUID))
- chest->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ chest->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
break;
default:
break;
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 daadb13db4d..c6983a0f63f 100644
--- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp
@@ -105,9 +105,9 @@ class instance_magtheridons_lair : public InstanceMapScript
if (GameObject* cube = instance->GetGameObject(gobGUID))
{
if (value == ACTION_ENABLE)
- cube->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ cube->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
else
- cube->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ cube->SetFlag(GO_FLAG_NOT_SELECTABLE);
}
break;
case DATA_COLLAPSE:
diff --git a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
index 9a13dc64f3e..71fba09e871 100644
--- a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
+++ b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
@@ -595,7 +595,7 @@ class npc_simon_bunny : public CreatureScript
_events.ScheduleEvent(EVENT_SIMON_PERIODIC_PLAYER_CHECK, 2s);
if (GameObject* relic = me->FindNearestGameObject(large ? GO_APEXIS_MONUMENT : GO_APEXIS_RELIC, searchDistance))
- relic->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ relic->SetFlag(GO_FLAG_NOT_SELECTABLE);
}
// Called when despawning the bunny. Sets all the node GOs to their default states.
@@ -605,14 +605,14 @@ class npc_simon_bunny : public CreatureScript
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->SetFlag(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->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
me->DespawnOrUnsummon(1s);
}
@@ -655,7 +655,7 @@ class npc_simon_bunny : public CreatureScript
{
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->RemoveFlag(GO_FLAG_NOT_SELECTABLE);
if (clustersOnly)
return;
@@ -709,7 +709,7 @@ class npc_simon_bunny : public CreatureScript
{
if (GameObject* cluster = me->FindNearestGameObject(clusterIds[clusterId], 2.0f*searchDistance))
{
- cluster->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ cluster->SetFlag(GO_FLAG_NOT_SELECTABLE);
// break since we don't need glowing auras for large clusters
if (large)
diff --git a/src/server/shared/SharedDefines.h b/src/server/shared/SharedDefines.h
index fe3382876ba..b19c205d97b 100644
--- a/src/server/shared/SharedDefines.h
+++ b/src/server/shared/SharedDefines.h
@@ -20,6 +20,7 @@
#include "DBCEnums.h"
#include "Define.h"
+#include "EnumFlag.h"
#include "SmartEnum.h"
float const GROUND_HEIGHT_TOLERANCE = 0.05f; // Extra tolerance to z position to check if it is in air or on ground.
@@ -1639,6 +1640,8 @@ enum GameObjectFlags
GO_FLAG_DESTROYED = 0x00000400
};
+DEFINE_ENUM_FLAG(GameObjectFlags);
+
enum GameObjectDynamicLowFlags
{
GO_DYNFLAG_LO_ACTIVATE = 0x01, // enables interaction with GO