using System.Collections.Immutable; using FFXIVClientStructs.FFXIV.Client.Game.UI; using Questionable.Model.Questing; namespace Questionable.Data; public sealed record DutyInfo(uint ContentFinderConditionId, uint ContentId, string Name, uint ContentTypeId, string ContentTypeName, ushort Level, ushort ItemLevel, ImmutableList UnlockQuests, bool IsHighEndDuty, EDutyCategory DutyCategory) { public bool IsUnlocked => UIState.IsInstanceContentUnlocked(ContentId); public bool? IsCompleted { get { if (DutyCategory != EDutyCategory.DeepDungeon) { return UIState.IsInstanceContentCompleted((ushort)ContentId); } return null; } } }