diff --git a/Source/Game/Entities/GameObject/GameObject.cs b/Source/Game/Entities/GameObject/GameObject.cs index 9f8922a9d..5c30c42af 100644 --- a/Source/Game/Entities/GameObject/GameObject.cs +++ b/Source/Game/Entities/GameObject/GameObject.cs @@ -1295,7 +1295,7 @@ namespace Game.Entities if (base.IsNeverVisibleFor(seer)) return true; - if (GetGoType() == GameObjectTypes.SpellFocus && GetGoInfo().SpellFocus.serverOnly == 1) + if (GetGoInfo().GetServerOnly() != 0) return true; if (GetDisplayId() == 0) diff --git a/Source/Game/Entities/GameObject/GameObjectData.cs b/Source/Game/Entities/GameObject/GameObjectData.cs index 0745e154a..f09426e8a 100644 --- a/Source/Game/Entities/GameObject/GameObjectData.cs +++ b/Source/Game/Entities/GameObject/GameObjectData.cs @@ -677,6 +677,15 @@ namespace Game.Entities } } + public uint GetServerOnly() => type switch + { + GameObjectTypes.Generic => Generic.serverOnly, + GameObjectTypes.Trap => Trap.serverOnly, + GameObjectTypes.SpellFocus => SpellFocus.serverOnly, + GameObjectTypes.AuraGenerator => AuraGenerator.serverOnly, + _ => 0, + }; + public uint GetSpellFocusType() { switch (type)