diff --git a/Dalamud/Game/UnlockState/UnlockState.cs b/Dalamud/Game/UnlockState/UnlockState.cs index a5f53ed5e..fd18a26f9 100644 --- a/Dalamud/Game/UnlockState/UnlockState.cs +++ b/Dalamud/Game/UnlockState/UnlockState.cs @@ -310,12 +310,6 @@ internal unsafe class UnlockState : IInternalDisposableService, IUnlockState return nativeRow != null && UIState.Instance()->IsItemActionUnlocked(nativeRow) == 1; } - /// - public bool IsMcGuffinUnlocked(McGuffin row) - { - return PlayerState.Instance()->IsMcGuffinUnlocked(row.RowId); - } - /// public bool IsMJILandmarkUnlocked(MJILandmark row) { @@ -328,6 +322,15 @@ internal unsafe class UnlockState : IInternalDisposableService, IUnlockState return this.IsUnlockLinkUnlocked(row.UnlockLink); } + /// + public bool IsMcGuffinUnlocked(McGuffin row) + { + if (!this.IsLoaded) + return false; + + return PlayerState.Instance()->IsMcGuffinUnlocked(row.RowId); + } + /// public bool IsMountUnlocked(Mount row) { @@ -388,6 +391,9 @@ internal unsafe class UnlockState : IInternalDisposableService, IUnlockState /// public bool IsRecipeUnlocked(Recipe row) { + if (!this.IsLoaded) + return false; + return this.recipeData.IsRecipeUnlocked(row); } @@ -808,15 +814,15 @@ internal class UnlockStatePluginScoped : IInternalDisposableService, IUnlockStat /// public bool IsItemUnlocked(Item row) => this.unlockStateService.IsItemUnlocked(row); - /// - public bool IsMcGuffinUnlocked(McGuffin row) => this.unlockStateService.IsMcGuffinUnlocked(row); - /// public bool IsMJILandmarkUnlocked(MJILandmark row) => this.unlockStateService.IsMJILandmarkUnlocked(row); /// public bool IsMKDLoreUnlocked(MKDLore row) => this.unlockStateService.IsMKDLoreUnlocked(row); + /// + public bool IsMcGuffinUnlocked(McGuffin row) => this.unlockStateService.IsMcGuffinUnlocked(row); + /// public bool IsMountUnlocked(Mount row) => this.unlockStateService.IsMountUnlocked(row);