using System; using System.Collections.Generic; using System.Linq; using Dalamud.Plugin.Services; using Lumina.Excel.Sheets; using Questionable.Model.Questing; namespace Questionable.Data; internal static class GameQuestSequences { public static List GetCompletionSequences(IDataManager dataManager, QuestId questId) { Quest? rowOrDefault = dataManager.GetExcelSheet().GetRowOrDefault((uint)(0x10000 | questId.Value)); if (rowOrDefault.HasValue) { Quest valueOrDefault = rowOrDefault.GetValueOrDefault(); if (valueOrDefault.TodoParams.Count == 0 || valueOrDefault.TodoParams[0].ToDoCompleteSeq == 0) { return new List(); } return (from seq in (from seq in ((IEnumerable)valueOrDefault.TodoParams).Select((Func)((Quest.TodoParamsStruct x) => x.ToDoCompleteSeq)) where seq != 0 select seq).Distinct() orderby seq select seq).ToList(); } return new List(); } }