Add support for EmjVoiceNpc rows

This commit is contained in:
Haselnussbomber 2025-10-18 03:51:38 +02:00
parent 880add5ab3
commit a06c0e3ed2
No known key found for this signature in database
GPG key ID: BB905BB49E7295D1
2 changed files with 17 additions and 0 deletions

View file

@ -205,6 +205,12 @@ internal unsafe class UnlockState : IInternalDisposableService, IUnlockState
return this.IsUnlockLinkUnlocked(row.UnlockLink);
}
/// <inheritdoc/>
public bool IsEmjVoiceNpcUnlocked(EmjVoiceNpc row)
{
return this.IsUnlockLinkUnlocked(row.Unknown26);
}
/// <inheritdoc/>
public bool IsGeneralActionUnlocked(GeneralAction row)
{
@ -601,6 +607,7 @@ internal unsafe class UnlockState : IInternalDisposableService, IUnlockState
this.UpdateUnlocksForSheet<ChocoboTaxi>(fireEvent);
this.UpdateUnlocksForSheet<Companion>(fireEvent);
this.UpdateUnlocksForSheet<CraftAction>(fireEvent);
this.UpdateUnlocksForSheet<EmjVoiceNpc>(fireEvent);
this.UpdateUnlocksForSheet<Emote>(fireEvent);
this.UpdateUnlocksForSheet<GeneralAction>(fireEvent);
this.UpdateUnlocksForSheet<Glasses>(fireEvent);
@ -758,6 +765,9 @@ internal class UnlockStatePluginScoped : IInternalDisposableService, IUnlockStat
/// <inheritdoc/>
public bool IsEmoteUnlocked(Emote row) => this.unlockStateService.IsEmoteUnlocked(row);
/// <inheritdoc/>
public bool IsEmjVoiceNpcUnlocked(EmjVoiceNpc row) => this.unlockStateService.IsEmjVoiceNpcUnlocked(row);
/// <inheritdoc/>
public bool IsGeneralActionUnlocked(GeneralAction row) => this.unlockStateService.IsGeneralActionUnlocked(row);

View file

@ -150,6 +150,13 @@ public interface IUnlockState
/// <returns><see langword="true"/> if unlocked; otherwise, <see langword="false"/>.</returns>
bool IsEmoteUnlocked(Emote row);
/// <summary>
/// Determines whether the specified EmjVoiceNpc (Doman Mahjong Characters) is unlocked.
/// </summary>
/// <param name="row">The EmjVoiceNpc row to check.</param>
/// <returns><see langword="true"/> if unlocked; otherwise, <see langword="false"/>.</returns>
bool IsEmjVoiceNpcUnlocked(EmjVoiceNpc row);
/// <summary>
/// Determines whether the specified GeneralAction is unlocked.
/// </summary>