From 8feb0a9c53f8713791a23b79e4de88c924ca15a1 Mon Sep 17 00:00:00 2001 From: goat <16760685+goaaats@users.noreply.github.com> Date: Fri, 27 Aug 2021 01:53:48 +0200 Subject: [PATCH] fix: move InvalidGameObjectId check into SearchById --- Dalamud/Game/ClientState/Objects/ObjectTable.cs | 4 +++- Dalamud/Game/ClientState/Objects/Types/GameObject.cs | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Dalamud/Game/ClientState/Objects/ObjectTable.cs b/Dalamud/Game/ClientState/Objects/ObjectTable.cs index 529fdfaec..df045be1c 100644 --- a/Dalamud/Game/ClientState/Objects/ObjectTable.cs +++ b/Dalamud/Game/ClientState/Objects/ObjectTable.cs @@ -7,7 +7,6 @@ using Dalamud.Game.ClientState.Objects.SubKinds; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.IoC; using Dalamud.IoC.Internal; -using JetBrains.Annotations; using Serilog; namespace Dalamud.Game.ClientState.Objects @@ -65,6 +64,9 @@ namespace Dalamud.Game.ClientState.Objects /// A game object or null. public GameObject? SearchById(uint objectId) { + if (objectId is GameObject.InvalidGameObjectId or 0) + return null; + foreach (var obj in this) { if (obj == null) diff --git a/Dalamud/Game/ClientState/Objects/Types/GameObject.cs b/Dalamud/Game/ClientState/Objects/Types/GameObject.cs index b0504fbcc..da4794109 100644 --- a/Dalamud/Game/ClientState/Objects/Types/GameObject.cs +++ b/Dalamud/Game/ClientState/Objects/Types/GameObject.cs @@ -162,7 +162,7 @@ namespace Dalamud.Game.ClientState.Objects.Types /// This iterates the actor table, it should be used with care. /// // TODO: Fix for non-networked GameObjects - public virtual GameObject? TargetObject => this.TargetObjectId != InvalidGameObjectId ? Service.Get().SearchById(this.TargetObjectId) : null; + public virtual GameObject? TargetObject => Service.Get().SearchById(this.TargetObjectId); /// /// Gets the underlying structure.