57 lines
1.9 KiB
C#
57 lines
1.9 KiB
C#
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<int> GetCompletionSequences(IDataManager dataManager, QuestId questId)
|
|
{
|
|
Quest? rowOrDefault = dataManager.GetExcelSheet<Quest>().GetRowOrDefault((uint)(0x10000 | _202B_200F_206E_206E_206E_200B_202A_200C_206B_200C_200D_200C_206E_200B_200C_200B_206D_206F_200B_206B_206D_206D_202C_200D_206B_202D_206C_206D_200D_202B_202A_206B_200F_206D_202A_202A_206F_206F_200D_202B_202E((ElementId)questId)));
|
|
int num = ((!rowOrDefault.HasValue) ? (-1830847264) : (-1830847257));
|
|
Quest valueOrDefault = default(Quest);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -1830847263;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 0:
|
|
num = -1830847257;
|
|
break;
|
|
case 3:
|
|
return (from seq in (from seq in ((IEnumerable<Quest.TodoParamsStruct>)valueOrDefault.TodoParams).Select((Func<Quest.TodoParamsStruct, int>)((Quest.TodoParamsStruct x) => x.ToDoCompleteSeq))
|
|
where seq != 0
|
|
select seq).Distinct()
|
|
orderby seq
|
|
select seq).ToList();
|
|
case 5:
|
|
num = ((valueOrDefault.TodoParams[0].ToDoCompleteSeq != 0) ? (-1830847262) : (-1830847259));
|
|
break;
|
|
case 6:
|
|
valueOrDefault = rowOrDefault.GetValueOrDefault();
|
|
num = -1830847261;
|
|
break;
|
|
case 4:
|
|
return new List<int>();
|
|
case 2:
|
|
num = ((valueOrDefault.TodoParams.Count == 0) ? (-1830847259) : (-1830847260));
|
|
break;
|
|
case 1:
|
|
return new List<int>();
|
|
}
|
|
}
|
|
}
|
|
|
|
static ushort _202B_200F_206E_206E_206E_200B_202A_200C_206B_200C_200D_200C_206E_200B_200C_200B_206D_206F_200B_206B_206D_206D_202C_200D_206B_202D_206C_206D_200D_202B_202A_206B_200F_206D_202A_202A_206F_206F_200D_202B_202E(ElementId P_0)
|
|
{
|
|
return P_0.Value;
|
|
}
|
|
}
|