diff --git a/Dalamud/Game/UnlockState/UnlockState.cs b/Dalamud/Game/UnlockState/UnlockState.cs
index 14ea9e2c9..a016b91cb 100644
--- a/Dalamud/Game/UnlockState/UnlockState.cs
+++ b/Dalamud/Game/UnlockState/UnlockState.cs
@@ -309,6 +309,12 @@ internal unsafe class UnlockState : IInternalDisposableService, IUnlockState
return this.IsUnlockLinkUnlocked(row.UnlockLink);
}
+ ///
+ public bool IsMKDLoreUnlocked(MKDLore row)
+ {
+ return this.IsUnlockLinkUnlocked(row.Unknown2);
+ }
+
///
public bool IsMountUnlocked(Mount row)
{
@@ -493,6 +499,9 @@ internal unsafe class UnlockState : IInternalDisposableService, IUnlockState
if (rowRef.TryGetValue(out var mjiLandmarkRow))
return this.IsMJILandmarkUnlocked(mjiLandmarkRow);
+ if (rowRef.TryGetValue(out var mkdLoreRow))
+ return this.IsMKDLoreUnlocked(mkdLoreRow);
+
if (rowRef.TryGetValue(out var mcGuffinRow))
return this.IsMcGuffinUnlocked(mcGuffinRow);
@@ -599,6 +608,7 @@ internal unsafe class UnlockState : IInternalDisposableService, IUnlockState
this.UpdateUnlocksForSheet(fireEvent);
this.UpdateUnlocksForSheet- (fireEvent);
this.UpdateUnlocksForSheet(fireEvent);
+ this.UpdateUnlocksForSheet(fireEvent);
this.UpdateUnlocksForSheet(fireEvent);
this.UpdateUnlocksForSheet(fireEvent);
this.UpdateUnlocksForSheet(fireEvent);
@@ -772,6 +782,9 @@ internal class UnlockStatePluginScoped : IInternalDisposableService, IUnlockStat
///
public bool IsMJILandmarkUnlocked(MJILandmark row) => this.unlockStateService.IsMJILandmarkUnlocked(row);
+ ///
+ public bool IsMKDLoreUnlocked(MKDLore row) => this.unlockStateService.IsMKDLoreUnlocked(row);
+
///
public bool IsMountUnlocked(Mount row) => this.unlockStateService.IsMountUnlocked(row);
diff --git a/Dalamud/Plugin/Services/IUnlockState.cs b/Dalamud/Plugin/Services/IUnlockState.cs
index 22ef94eb2..79f68416e 100644
--- a/Dalamud/Plugin/Services/IUnlockState.cs
+++ b/Dalamud/Plugin/Services/IUnlockState.cs
@@ -206,6 +206,13 @@ public interface IUnlockState
/// if unlocked; otherwise, .
bool IsMJILandmarkUnlocked(MJILandmark row);
+ ///
+ /// Determines whether the specified MKDLore (Occult Record) is unlocked.
+ ///
+ /// The MKDLore row to check.
+ /// if unlocked; otherwise, .
+ bool IsMKDLoreUnlocked(MKDLore row);
+
///
/// Determines whether the specified Mount is unlocked.
///