From f5f6dbfa3eed45b6c7a4cb0cd277c1ca0c8eff2d Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 18 Nov 2022 10:37:11 +0100 Subject: [PATCH] Core/GameObjects: Use serverOnly property of GameObjectTemplate for all types that have it, not just spell focus --- src/server/game/Entities/GameObject/GameObject.cpp | 2 +- src/server/game/Entities/GameObject/GameObjectData.h | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index d9a74412ca..0f7012e203 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -1549,7 +1549,7 @@ bool GameObject::IsNeverVisible() const if (WorldObject::IsNeverVisible()) return true; - if (GetGoType() == GAMEOBJECT_TYPE_SPELL_FOCUS && GetGOInfo()->spellFocus.serverOnly == 1) + if (GetGOInfo()->GetServerOnly()) return true; return false; diff --git a/src/server/game/Entities/GameObject/GameObjectData.h b/src/server/game/Entities/GameObject/GameObjectData.h index 71ce2a1826..9fb44d970f 100644 --- a/src/server/game/Entities/GameObject/GameObjectData.h +++ b/src/server/game/Entities/GameObject/GameObjectData.h @@ -631,6 +631,18 @@ struct GameObjectTemplate } } + uint32 GetServerOnly() const + { + switch (type) + { + case GAMEOBJECT_TYPE_GENERIC: return _generic.serverOnly; + case GAMEOBJECT_TYPE_TRAP: return trap.serverOnly; + case GAMEOBJECT_TYPE_SPELL_FOCUS: return spellFocus.serverOnly; + case GAMEOBJECT_TYPE_AURA_GENERATOR: return auraGenerator.serverOnly; + default: return 0; + } + } + void InitializeQueryData(); WorldPacket BuildQueryData(LocaleConstant loc) const; };