diff options
author | Shauren <shauren.trinity@gmail.com> | 2022-11-15 11:57:19 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-11-15 11:57:19 +0100 |
commit | 4ee64a232ad830255bc6779e595d412c934b6b74 (patch) | |
tree | 7a42027c893ea6bce69dc33a53c69782aa444265 | |
parent | 37d8b6d33b58a136319a052db50900db3d798919 (diff) |
Core/GameObjects: Use serverOnly property of GameObjectTemplate for all types that have it, not just spell focus
-rw-r--r-- | src/server/game/Entities/GameObject/GameObject.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Entities/GameObject/GameObjectData.h | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 8e9d541e2c6..44929448251 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -1245,7 +1245,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 087eb8c18bd..5f68c3f7b16 100644 --- a/src/server/game/Entities/GameObject/GameObjectData.h +++ b/src/server/game/Entities/GameObject/GameObjectData.h @@ -617,6 +617,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; }; |