diff options
author | Meji <alvaro.megias@outlook.com> | 2023-04-15 20:45:21 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-15 20:45:21 +0200 |
commit | 6c71a84e6cd980cfe9a35421e8473dceebafba5b (patch) | |
tree | 303e9c5e6d43f6293020338686f36c0023346327 | |
parent | 795f139e755acd46bb9feba85f0f07a1f49cda39 (diff) |
Core/GameObjects: Allow certain types to be sent to the client without display (#28908)
-rw-r--r-- | src/server/game/Entities/GameObject/GameObject.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Entities/GameObject/GameObjectData.h | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index d9ee233faf4..665e3244125 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -1799,7 +1799,7 @@ bool GameObject::IsNeverVisibleFor(WorldObject const* seer, bool allowServerside if (GetGOInfo()->GetServerOnly() && !allowServersideObjects) return true; - if (!GetDisplayId()) + if (!GetDisplayId() && GetGOInfo()->IsDisplayMandatory()) return true; return false; diff --git a/src/server/game/Entities/GameObject/GameObjectData.h b/src/server/game/Entities/GameObject/GameObjectData.h index 91b95eb0888..ae75a4d5ec9 100644 --- a/src/server/game/Entities/GameObject/GameObjectData.h +++ b/src/server/game/Entities/GameObject/GameObjectData.h @@ -1232,6 +1232,19 @@ struct GameObjectTemplate } } + bool IsDisplayMandatory() const + { + switch (type) + { + case GAMEOBJECT_TYPE_SPELL_FOCUS: + case GAMEOBJECT_TYPE_MULTI: + case GAMEOBJECT_TYPE_SIEGEABLE_MULTI: + return false; + default: + return true; + } + } + void InitializeQueryData(); WorldPacket BuildQueryData(LocaleConstant loc) const; }; |