forked from aly/qstbak
2563 lines
93 KiB
C#
2563 lines
93 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Concurrent;
|
|
using System.Collections.Generic;
|
|
using System.Collections.Immutable;
|
|
using System.Diagnostics.CodeAnalysis;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Runtime.InteropServices;
|
|
using System.Text;
|
|
using Dalamud.Plugin.Services;
|
|
using LLib.GameData;
|
|
using Lumina.Excel.Sheets;
|
|
using Microsoft.Extensions.Logging;
|
|
using Questionable.Controller.Utils;
|
|
using Questionable.Model;
|
|
using Questionable.Model.Questing;
|
|
|
|
namespace Questionable.Data;
|
|
|
|
internal sealed class QuestData
|
|
{
|
|
private sealed record RoleQuestData(IReadOnlyList<uint> Chapters, IReadOnlyList<QuestId> FinalQuests, Func<EClassJob, bool> JobMatch)
|
|
{
|
|
[CompilerGenerated]
|
|
private Type EqualityContract
|
|
{
|
|
[CompilerGenerated]
|
|
get
|
|
{
|
|
return _202B_206D_200D_200D_202C_200F_206F_200F_202E_206B_206D_206F_200C_202E_206B_206E_202B_206B_202A_200D_202E_200B_200D_206C_200C_202C_202D_202D_200B_200E_202C_202C_200B_206C_206B_206A_200C_206B_202A_200C_202E(typeof(RoleQuestData).TypeHandle);
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
[CompilerGenerated]
|
|
public override string ToString()
|
|
{
|
|
StringBuilder stringBuilder = _200C_200B_206D_200B_202D_206E_206F_202A_202E_206A_200D_202A_206D_200C_200B_206A_200D_202B_206A_200B_206D_206A_202D_206C_206E_202A_206C_200F_200E_206B_206E_206F_200F_200E_202C_206F_202D_202C_200E_202E();
|
|
_206F_200D_202B_206D_206A_200B_200C_202C_200F_206D_206F_200E_206E_202A_206A_202E_206B_206F_202C_200D_202B_206F_200D_206A_206A_202A_200C_200E_206A_200F_206B_206B_206F_200F_200B_200B_206F_202C_206E_200C_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(2128769799));
|
|
_206F_200D_202B_206D_206A_200B_200C_202C_200F_206D_206F_200E_206E_202A_206A_202E_206B_206F_202C_200D_202B_206F_200D_206A_206A_202A_200C_200E_206A_200F_206B_206B_206F_200F_200B_200B_206F_202C_206E_200C_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1664411125));
|
|
int num = ((!PrintMembers(stringBuilder)) ? (-949265533) : (-949265536));
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -949265534;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 1:
|
|
_202D_202A_200C_206C_202C_206D_202C_202E_200E_206B_202B_202A_206E_200E_206F_206A_200E_200B_200B_202B_202D_202A_202E_202C_200F_206C_200B_202D_200F_206E_206A_206B_202D_206E_206C_202E_206E_206B_202A_206A_202E(stringBuilder, '}');
|
|
return _200B_200D_200C_202B_206D_200B_206C_202B_206E_202C_202C_200E_206B_206E_200C_206C_206B_206D_200D_206E_206D_206A_200E_206C_206C_200F_206B_200C_202D_200F_206C_202D_200E_202D_206E_200E_200C_202B_202B_206C_202E((object)stringBuilder);
|
|
case 2:
|
|
_202D_202A_200C_206C_202C_206D_202C_202E_200E_206B_202B_202A_206E_200E_206F_206A_200E_200B_200B_202B_202D_202A_202E_202C_200F_206C_200B_202D_200F_206E_206A_206B_202D_206E_206C_202E_206E_206B_202A_206A_202E(stringBuilder, ' ');
|
|
num = -949265533;
|
|
break;
|
|
case 0:
|
|
num = -949265536;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
[CompilerGenerated]
|
|
private bool PrintMembers(StringBuilder builder)
|
|
{
|
|
_202D_206B_200D_202C_206C_206D_200C_200D_206F_206F_206F_206E_202E_206C_206E_206B_202A_206E_206D_202E_206E_202B_200D_206D_202B_202C_206E_200E_202A_202D_200E_200D_202B_200D_200D_200E_206E_202A_200E_206F_202E();
|
|
_206F_200D_202B_206D_206A_200B_200C_202C_200F_206D_206F_200E_206E_202A_206A_202E_206B_206F_202C_200D_202B_206F_200D_206A_206A_202A_200C_200E_206A_200F_206B_206B_206F_200F_200B_200B_206F_202C_206E_200C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-428993358));
|
|
_200C_200C_202D_200C_200F_200F_206F_206C_206E_206E_206A_202C_202B_202B_206B_206C_200C_202D_202B_202E_202A_202B_202A_206D_206B_206F_206E_202D_206C_200E_200B_206B_200B_202B_206B_206B_202A_206F_200C_202E(builder, (object)Chapters);
|
|
_206F_200D_202B_206D_206A_200B_200C_202C_200F_206D_206F_200E_206E_202A_206A_202E_206B_206F_202C_200D_202B_206F_200D_206A_206A_202A_200C_200E_206A_200F_206B_206B_206F_200F_200B_200B_206F_202C_206E_200C_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(635711557));
|
|
_200C_200C_202D_200C_200F_200F_206F_206C_206E_206E_206A_202C_202B_202B_206B_206C_200C_202D_202B_202E_202A_202B_202A_206D_206B_206F_206E_202D_206C_200E_200B_206B_200B_202B_206B_206B_202A_206F_200C_202E(builder, (object)FinalQuests);
|
|
_206F_200D_202B_206D_206A_200B_200C_202C_200F_206D_206F_200E_206E_202A_206A_202E_206B_206F_202C_200D_202B_206F_200D_206A_206A_202A_200C_200E_206A_200F_206B_206B_206F_200F_200B_200B_206F_202C_206E_200C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1662807947));
|
|
_200C_200C_202D_200C_200F_200F_206F_206C_206E_206E_206A_202C_202B_202B_206B_206C_200C_202D_202B_202E_202A_202B_202A_206D_206B_206F_206E_202D_206C_200E_200B_206B_200B_202B_206B_206B_202A_206F_200C_202E(builder, (object)JobMatch);
|
|
return true;
|
|
}
|
|
|
|
[CompilerGenerated]
|
|
public bool Equals(RoleQuestData? other)
|
|
{
|
|
int num = (((object)this == other) ? 900942531 : 900942533);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 900942529;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 2:
|
|
return true;
|
|
case 6:
|
|
num = ((!_206C_206F_206D_200B_202C_202D_206D_200D_206A_200F_200D_206B_200E_206B_202A_206E_206A_202A_206C_206B_202C_206B_202C_206C_206C_202E_202A_206A_202E_202B_206C_202D_206E_202B_202B_206A_202A_202B_206D_206E_202E(EqualityContract, other.EqualityContract)) ? 900942532 : 900942534);
|
|
break;
|
|
case 7:
|
|
num = ((!EqualityComparer<IReadOnlyList<uint>>.Default.Equals(Chapters, other.Chapters)) ? 900942532 : 900942528);
|
|
break;
|
|
case 5:
|
|
return false;
|
|
case 0:
|
|
return EqualityComparer<Func<EClassJob, bool>>.Default.Equals(JobMatch, other.JobMatch);
|
|
case 3:
|
|
num = 900942533;
|
|
break;
|
|
case 4:
|
|
num = (((object)other == null) ? 900942532 : 900942535);
|
|
break;
|
|
case 1:
|
|
num = ((!EqualityComparer<IReadOnlyList<QuestId>>.Default.Equals(FinalQuests, other.FinalQuests)) ? 900942532 : 900942529);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
bool IEquatable<RoleQuestData>.Equals(RoleQuestData? other)
|
|
{
|
|
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
|
return this.Equals(other);
|
|
}
|
|
|
|
static Type _202B_206D_200D_200D_202C_200F_206F_200F_202E_206B_206D_206F_200C_202E_206B_206E_202B_206B_202A_200D_202E_200B_200D_206C_200C_202C_202D_202D_200B_200E_202C_202C_200B_206C_206B_206A_200C_206B_202A_200C_202E(RuntimeTypeHandle P_0)
|
|
{
|
|
return Type.GetTypeFromHandle(P_0);
|
|
}
|
|
|
|
static StringBuilder _200C_200B_206D_200B_202D_206E_206F_202A_202E_206A_200D_202A_206D_200C_200B_206A_200D_202B_206A_200B_206D_206A_202D_206C_206E_202A_206C_200F_200E_206B_206E_206F_200F_200E_202C_206F_202D_202C_200E_202E()
|
|
{
|
|
return new StringBuilder();
|
|
}
|
|
|
|
static StringBuilder _206F_200D_202B_206D_206A_200B_200C_202C_200F_206D_206F_200E_206E_202A_206A_202E_206B_206F_202C_200D_202B_206F_200D_206A_206A_202A_200C_200E_206A_200F_206B_206B_206F_200F_200B_200B_206F_202C_206E_200C_202E(StringBuilder P_0, string P_1)
|
|
{
|
|
return P_0.Append(P_1);
|
|
}
|
|
|
|
static StringBuilder _202D_202A_200C_206C_202C_206D_202C_202E_200E_206B_202B_202A_206E_200E_206F_206A_200E_200B_200B_202B_202D_202A_202E_202C_200F_206C_200B_202D_200F_206E_206A_206B_202D_206E_206C_202E_206E_206B_202A_206A_202E(StringBuilder P_0, char P_1)
|
|
{
|
|
return P_0.Append(P_1);
|
|
}
|
|
|
|
static string _200B_200D_200C_202B_206D_200B_206C_202B_206E_202C_202C_200E_206B_206E_200C_206C_206B_206D_200D_206E_206D_206A_200E_206C_206C_200F_206B_200C_202D_200F_206C_202D_200E_202D_206E_200E_200C_202B_202B_206C_202E(object P_0)
|
|
{
|
|
return P_0.ToString();
|
|
}
|
|
|
|
static void _202D_206B_200D_202C_206C_206D_200C_200D_206F_206F_206F_206E_202E_206C_206E_206B_202A_206E_206D_202E_206E_202B_200D_206D_202B_202C_206E_200E_202A_202D_200E_200D_202B_200D_200D_200E_206E_202A_200E_206F_202E()
|
|
{
|
|
RuntimeHelpers.EnsureSufficientExecutionStack();
|
|
}
|
|
|
|
static StringBuilder _200C_200C_202D_200C_200F_200F_206F_206C_206E_206E_206A_202C_202B_202B_206B_206C_200C_202D_202B_202E_202A_202B_202A_206D_206B_206F_206E_202D_206C_200E_200B_206B_200B_202B_206B_206B_202A_206F_200C_202E(StringBuilder P_0, object P_1)
|
|
{
|
|
return P_0.Append(P_1);
|
|
}
|
|
|
|
static bool _206C_206F_206D_200B_202C_202D_206D_200D_206A_200F_200D_206B_200E_206B_202A_206E_206A_202A_206C_206B_202C_206B_202C_206C_206C_202E_202A_206A_202E_202B_206C_202D_206E_202B_202B_206A_202A_202B_206D_206E_202E(Type P_0, Type P_1)
|
|
{
|
|
return P_0 == P_1;
|
|
}
|
|
}
|
|
|
|
[Serializable]
|
|
[CompilerGenerated]
|
|
private sealed class _003C_003Ec
|
|
{
|
|
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
|
|
|
|
public static Func<QuestChapter, bool> _003C_003E9__25_0;
|
|
|
|
public static Func<QuestChapter, uint> _003C_003E9__25_1;
|
|
|
|
public static Func<QuestChapter, uint> _003C_003E9__25_2;
|
|
|
|
public static Func<QuestRedo.QuestRedoParamStruct, bool> _003C_003E9__25_8;
|
|
|
|
public static Func<Lumina.Excel.Sheets.Quest, bool> _003C_003E9__25_9;
|
|
|
|
public static Func<Lumina.Excel.Sheets.Quest, bool> _003C_003E9__25_10;
|
|
|
|
public static Func<Lumina.Excel.Sheets.Quest, bool> _003C_003E9__25_11;
|
|
|
|
public static Func<SatisfactionNpc, bool> _003C_003E9__25_13;
|
|
|
|
public static Func<SatisfactionNpc, SatisfactionSupplyInfo> _003C_003E9__25_14;
|
|
|
|
public static Func<IQuestInfo, bool> _003C_003E9__25_3;
|
|
|
|
public static Func<QuestInfo, QuestId> _003C_003E9__25_5;
|
|
|
|
public static Func<IQuestInfo, bool> _003C_003E9__25_6;
|
|
|
|
public static Func<QuestInfo, IEnumerable<ItemReward>> _003C_003E9__25_7;
|
|
|
|
public static Func<ushort, QuestId> _003C_003E9__37_1;
|
|
|
|
public static Func<IQuestInfo, ushort> _003C_003E9__44_1;
|
|
|
|
public static Func<IQuestInfo, ElementId> _003C_003E9__44_2;
|
|
|
|
public static Func<IQuestInfo, bool> _003C_003E9__45_0;
|
|
|
|
public static Func<QuestInfo, ElementId> _003C_003E9__45_2;
|
|
|
|
public static Func<IQuestInfo, bool> _003C_003E9__55_0;
|
|
|
|
public static Func<List<ushort>, IEnumerable<ushort>> _003C_003E9__58_0;
|
|
|
|
public static Func<ushort, QuestId> _003C_003E9__58_1;
|
|
|
|
public static Func<ushort, QuestId> _003C_003E9__61_8;
|
|
|
|
internal bool _003C_002Ector_003Eb__25_0(QuestChapter x)
|
|
{
|
|
int num = ((x.RowId == 0) ? 277631296 : 277631299);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 277631297;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 0:
|
|
goto IL_0048;
|
|
case 1:
|
|
return false;
|
|
case 2:
|
|
return x.Quest.RowId != 0;
|
|
}
|
|
continue;
|
|
IL_0048:
|
|
num = 277631299;
|
|
}
|
|
}
|
|
|
|
internal uint _003C_002Ector_003Eb__25_1(QuestChapter x)
|
|
{
|
|
return x.Quest.RowId;
|
|
}
|
|
|
|
internal uint _003C_002Ector_003Eb__25_2(QuestChapter x)
|
|
{
|
|
return x.Redo.RowId;
|
|
}
|
|
|
|
internal bool _003C_002Ector_003Eb__25_8(QuestRedo.QuestRedoParamStruct x)
|
|
{
|
|
return x.Quest.IsValid;
|
|
}
|
|
|
|
internal bool _003C_002Ector_003Eb__25_9(Lumina.Excel.Sheets.Quest x)
|
|
{
|
|
return x.RowId != 0;
|
|
}
|
|
|
|
internal bool _003C_002Ector_003Eb__25_10(Lumina.Excel.Sheets.Quest x)
|
|
{
|
|
return !x.Name.IsEmpty;
|
|
}
|
|
|
|
internal bool _003C_002Ector_003Eb__25_11(Lumina.Excel.Sheets.Quest x)
|
|
{
|
|
return x.IssuerLocation.RowId != 0;
|
|
}
|
|
|
|
internal bool _003C_002Ector_003Eb__25_13(SatisfactionNpc x)
|
|
{
|
|
int num = ((x.RowId == 0) ? (-1811955487) : (-1811955486));
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -1811955488;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 0:
|
|
goto IL_004a;
|
|
case 1:
|
|
return false;
|
|
case 2:
|
|
return x.Npc.RowId != 0;
|
|
}
|
|
continue;
|
|
IL_004a:
|
|
num = -1811955486;
|
|
}
|
|
}
|
|
|
|
internal SatisfactionSupplyInfo _003C_002Ector_003Eb__25_14(SatisfactionNpc x)
|
|
{
|
|
return new SatisfactionSupplyInfo(x);
|
|
}
|
|
|
|
internal bool _003C_002Ector_003Eb__25_3(IQuestInfo x)
|
|
{
|
|
QuestInfo questInfo = x as QuestInfo;
|
|
int num = ((questInfo == null) ? 1962625655 : 1962625654);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 1962625655;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 2:
|
|
goto IL_0048;
|
|
case 1:
|
|
return questInfo.IsMainScenarioQuest;
|
|
case 0:
|
|
return false;
|
|
}
|
|
continue;
|
|
IL_0048:
|
|
num = 1962625654;
|
|
}
|
|
}
|
|
|
|
internal QuestId _003C_002Ector_003Eb__25_5(QuestInfo x)
|
|
{
|
|
return (QuestId)x.QuestId;
|
|
}
|
|
|
|
internal bool _003C_002Ector_003Eb__25_6(IQuestInfo x)
|
|
{
|
|
return x is QuestInfo;
|
|
}
|
|
|
|
internal IEnumerable<ItemReward> _003C_002Ector_003Eb__25_7(QuestInfo x)
|
|
{
|
|
return x.ItemRewards;
|
|
}
|
|
|
|
internal QuestId _003CAddGcFollowUpQuests_003Eb__37_1(ushort x)
|
|
{
|
|
return _202E_202A_202C_200E_200C_200E_202C_206E_206A_200B_202D_200D_206A_202D_202E_202B_206F_200F_206A_202A_206C_206F_206C_202D_200D_202B_206A_200C_206D_202B_200E_200C_200E_202E_202D_202A_202A_206F_202E_200F_202E(x);
|
|
}
|
|
|
|
internal ushort _003CGetAllByJournalGenre_003Eb__44_1(IQuestInfo x)
|
|
{
|
|
return x.SortKey;
|
|
}
|
|
|
|
internal ElementId _003CGetAllByJournalGenre_003Eb__44_2(IQuestInfo x)
|
|
{
|
|
return x.QuestId;
|
|
}
|
|
|
|
internal bool _003CGetAllByAlliedSociety_003Eb__45_0(IQuestInfo x)
|
|
{
|
|
return x is QuestInfo;
|
|
}
|
|
|
|
internal ElementId _003CGetAllByAlliedSociety_003Eb__45_2(QuestInfo x)
|
|
{
|
|
return x.QuestId;
|
|
}
|
|
|
|
internal bool _003CGetQuestsInNewGamePlusChapters_003Eb__55_0(IQuestInfo x)
|
|
{
|
|
return x is QuestInfo;
|
|
}
|
|
|
|
internal IEnumerable<ushort> _003CGetLockedClassQuests_003Eb__58_0(List<ushort> x)
|
|
{
|
|
return x;
|
|
}
|
|
|
|
internal QuestId _003CGetLockedClassQuests_003Eb__58_1(ushort x)
|
|
{
|
|
return _202E_202A_202C_200E_200C_200E_202C_206E_206A_200B_202D_200D_206A_202D_202E_202B_206F_200F_206A_202A_206C_206F_206C_202D_200D_202B_206A_200C_206D_202B_200E_200C_200E_202E_202D_202A_202A_206F_202E_200F_202E(x);
|
|
}
|
|
|
|
internal uint _003C_002Ecctor_003Eb__61_0(KeyValuePair<uint, List<ushort>> x)
|
|
{
|
|
return x.Key;
|
|
}
|
|
|
|
internal ImmutableList<QuestId> _003C_002Ecctor_003Eb__61_1(KeyValuePair<uint, List<ushort>> x)
|
|
{
|
|
return x.Value.Select((ushort y) => _202E_202A_202C_200E_200C_200E_202C_206E_206A_200B_202D_200D_206A_202D_202E_202B_206F_200F_206A_202A_206C_206F_206C_202D_200D_202B_206A_200C_206D_202B_200E_200C_200E_202E_202D_202A_202A_206F_202E_200F_202E(y)).ToImmutableList();
|
|
}
|
|
|
|
internal QuestId _003C_002Ecctor_003Eb__61_8(ushort y)
|
|
{
|
|
return _202E_202A_202C_200E_200C_200E_202C_206E_206A_200B_202D_200D_206A_202D_202E_202B_206F_200F_206A_202A_206C_206F_206C_202D_200D_202B_206A_200C_206D_202B_200E_200C_200E_202E_202D_202A_202A_206F_202E_200F_202E(y);
|
|
}
|
|
|
|
internal IEnumerable<QuestId> _003C_002Ecctor_003Eb__61_2(ImmutableList<QuestId> x)
|
|
{
|
|
return x;
|
|
}
|
|
|
|
internal bool _003C_002Ecctor_003Eb__61_3(EClassJob j)
|
|
{
|
|
return _206F_206E_206F_206F_200F_200B_202C_202C_206B_202E_206F_202A_206E_206B_202D_206D_206A_200F_200C_206A_206B_200B_202A_202D_202E_202D_200E_202A_200F_200C_202D_200D_200F_200D_200E_200E_200F_200E_206D_206A_202E(j);
|
|
}
|
|
|
|
internal bool _003C_002Ecctor_003Eb__61_4(EClassJob j)
|
|
{
|
|
return _200E_202D_202A_200E_202E_206C_202D_200B_200B_206E_202E_206A_206C_200B_200D_200F_200B_200C_202D_206A_200C_206A_200F_200D_202B_206F_206F_200C_200B_202D_206E_206E_200E_202A_202E_206C_200E_206C_202B_206D_202E(j);
|
|
}
|
|
|
|
internal bool _003C_002Ecctor_003Eb__61_5(EClassJob j)
|
|
{
|
|
int num = ((!_202A_200F_202A_206C_206D_202C_206A_200E_206F_200B_202C_202D_206D_200E_206C_206F_200F_206B_206D_200C_206B_202D_200C_206D_202C_200B_200C_202D_206B_200B_206F_206F_206B_200D_202E_206B_200C_202A_202E_202C_202E(j)) ? 218387131 : 218387128);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 218387129;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 0:
|
|
goto IL_0048;
|
|
case 1:
|
|
return j != EClassJob.Beastmaster;
|
|
case 2:
|
|
return false;
|
|
}
|
|
continue;
|
|
IL_0048:
|
|
num = 218387128;
|
|
}
|
|
}
|
|
|
|
internal bool _003C_002Ecctor_003Eb__61_6(EClassJob j)
|
|
{
|
|
return _200B_206B_202A_206E_200D_206B_200F_202A_206D_200E_200E_202E_200B_206A_206F_202A_206F_200E_202D_200C_206F_202A_202D_202C_202B_206A_202D_206B_200D_202D_202E_206D_200F_206C_200C_200E_200D_202C_206E_200D_202E(j);
|
|
}
|
|
|
|
internal bool _003C_002Ecctor_003Eb__61_7(EClassJob j)
|
|
{
|
|
int num = ((!_200F_202B_206C_200B_202A_206D_200D_202E_200C_206C_206F_206D_200B_202D_200F_206E_202E_200B_206C_206C_202A_206D_202B_206B_200B_206B_200F_202D_200F_202A_206B_202A_200D_200F_206D_202D_206A_202C_202D_202D_202E(j)) ? (-542512) : (-542509));
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -542511;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 0:
|
|
goto IL_0046;
|
|
case 1:
|
|
return false;
|
|
case 2:
|
|
return j != EClassJob.BlueMage;
|
|
}
|
|
continue;
|
|
IL_0046:
|
|
num = -542509;
|
|
}
|
|
}
|
|
|
|
static QuestId _202E_202A_202C_200E_200C_200E_202C_206E_206A_200B_202D_200D_206A_202D_202E_202B_206F_200F_206A_202A_206C_206F_206C_202D_200D_202B_206A_200C_206D_202B_200E_200C_200E_202E_202D_202A_202A_206F_202E_200F_202E(ushort P_0)
|
|
{
|
|
return new QuestId(P_0);
|
|
}
|
|
|
|
static bool _206F_206E_206F_206F_200F_200B_202C_202C_206B_202E_206F_202A_206E_206B_202D_206D_206A_200F_200C_206A_206B_200B_202A_202D_202E_202D_200E_202A_200F_200C_202D_200D_200F_200D_200E_200E_200F_200E_206D_206A_202E(EClassJob P_0)
|
|
{
|
|
return P_0.IsTank();
|
|
}
|
|
|
|
static bool _200E_202D_202A_200E_202E_206C_202D_200B_200B_206E_202E_206A_206C_200B_200D_200F_200B_200C_202D_206A_200C_206A_200F_200D_202B_206F_206F_200C_200B_202D_206E_206E_200E_202A_202E_206C_200E_206C_202B_206D_202E(EClassJob P_0)
|
|
{
|
|
return P_0.IsHealer();
|
|
}
|
|
|
|
static bool _202A_200F_202A_206C_206D_202C_206A_200E_206F_200B_202C_202D_206D_200E_206C_206F_200F_206B_206D_200C_206B_202D_200C_206D_202C_200B_200C_202D_206B_200B_206F_206F_206B_200D_202E_206B_200C_202A_202E_202C_202E(EClassJob P_0)
|
|
{
|
|
return P_0.IsMelee();
|
|
}
|
|
|
|
static bool _200B_206B_202A_206E_200D_206B_200F_202A_206D_200E_200E_202E_200B_206A_206F_202A_206F_200E_202D_200C_206F_202A_202D_202C_202B_206A_202D_206B_200D_202D_202E_206D_200F_206C_200C_200E_200D_202C_206E_200D_202E(EClassJob P_0)
|
|
{
|
|
return P_0.IsPhysicalRanged();
|
|
}
|
|
|
|
static bool _200F_202B_206C_200B_202A_206D_200D_202E_200C_206C_206F_206D_200B_202D_200F_206E_202E_200B_206C_206C_202A_206D_202B_206B_200B_206B_200F_202D_200F_202A_206B_202A_200D_200F_206D_202D_206A_202C_202D_202D_202E(EClassJob P_0)
|
|
{
|
|
return P_0.IsCaster();
|
|
}
|
|
}
|
|
|
|
[CompilerGenerated]
|
|
private sealed class _003C_003Ec__DisplayClass25_1
|
|
{
|
|
public QuestInfo x;
|
|
|
|
public Func<PreviousQuestInfo, bool> _003C_003E9__16;
|
|
|
|
internal bool _003C_002Ector_003Eb__15(QuestInfo y)
|
|
{
|
|
return y.PreviousQuests.Any((PreviousQuestInfo z) => _200E_206C_202B_206D_206F_206E_206E_200D_206A_202C_200B_206E_200E_202C_202B_206E_202B_202B_202C_200B_200F_202E_206D_200E_202B_206C_200F_206A_202E_206A_202D_200B_206E_206E_202B_206E_202B_206A_200E_202E((ElementId)z.QuestId, x.QuestId));
|
|
}
|
|
|
|
internal bool _003C_002Ector_003Eb__16(PreviousQuestInfo z)
|
|
{
|
|
return _200E_206C_202B_206D_206F_206E_206E_200D_206A_202C_200B_206E_200E_202C_202B_206E_202B_202B_202C_200B_200F_202E_206D_200E_202B_206C_200F_206A_202E_206A_202D_200B_206E_206E_202B_206E_202B_206A_200E_202E((ElementId)z.QuestId, x.QuestId);
|
|
}
|
|
|
|
static bool _200E_206C_202B_206D_206F_206E_206E_200D_206A_202C_200B_206E_200E_202C_202B_206E_202B_202B_202C_200B_200F_202E_206D_200E_202B_206C_200F_206A_202E_206A_202D_200B_206E_206E_202B_206E_202B_206A_200E_202E(ElementId P_0, ElementId P_1)
|
|
{
|
|
return P_0 == P_1;
|
|
}
|
|
}
|
|
|
|
[CompilerGenerated]
|
|
private sealed class _003C_003Ec__DisplayClass37_0
|
|
{
|
|
public ushort questId;
|
|
|
|
internal bool _003CAddGcFollowUpQuests_003Eb__0(ushort x)
|
|
{
|
|
return x != questId;
|
|
}
|
|
}
|
|
|
|
public static readonly IReadOnlyList<QuestId> HardModePrimals = new global::_003C_003Ez__ReadOnlyArray<QuestId>(new QuestId[3]
|
|
{
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)1048),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)1157),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)1158)
|
|
});
|
|
|
|
private static readonly Dictionary<ushort, byte> GcRankRequirements = new Dictionary<ushort, byte>
|
|
{
|
|
{ 1128, 8 },
|
|
{ 1129, 8 },
|
|
{ 1130, 8 },
|
|
{ 1131, 9 },
|
|
{ 1132, 9 },
|
|
{ 1133, 9 }
|
|
};
|
|
|
|
public static readonly IReadOnlyList<QuestId> CrystalTowerQuests = new global::_003C_003Ez__ReadOnlyArray<QuestId>(new QuestId[8]
|
|
{
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)1709),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)1200),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)1201),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)1202),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)1203),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)1474),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)494),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)495)
|
|
});
|
|
|
|
public static readonly ImmutableDictionary<uint, ImmutableList<QuestId>> AetherCurrentQuestsByTerritory;
|
|
|
|
private static readonly IReadOnlyList<uint> TankRoleQuestChapters;
|
|
|
|
private static readonly IReadOnlyList<uint> HealerRoleQuestChapters;
|
|
|
|
private static readonly IReadOnlyList<uint> MeleeRoleQuestChapters;
|
|
|
|
private static readonly IReadOnlyList<uint> PhysicalRangedRoleQuestChapters;
|
|
|
|
private static readonly IReadOnlyList<uint> CasterRoleQuestChapters;
|
|
|
|
public static readonly IReadOnlyList<IReadOnlyList<uint>> AllRoleQuestChapters;
|
|
|
|
public static readonly IReadOnlyList<QuestId> FinalShadowbringersRoleQuests;
|
|
|
|
private static readonly RoleQuestData TankData;
|
|
|
|
private static readonly RoleQuestData HealerData;
|
|
|
|
private static readonly RoleQuestData MeleeData;
|
|
|
|
private static readonly RoleQuestData PhysicalRangedData;
|
|
|
|
private static readonly RoleQuestData CasterData;
|
|
|
|
private static readonly Dictionary<ERoleQuestPreference, RoleQuestData> RoleDataByPreference;
|
|
|
|
private static readonly IReadOnlyList<RoleQuestData> AllRoleData;
|
|
|
|
private readonly ConcurrentDictionary<ElementId, IQuestInfo> _quests;
|
|
|
|
private readonly ILogger<QuestData> _logger;
|
|
|
|
private static byte _cachedFirstClass;
|
|
|
|
private static List<QuestId> _cachedLockedClassQuests;
|
|
|
|
public static ImmutableHashSet<QuestId> AetherCurrentQuests { get; }
|
|
|
|
public IReadOnlyList<QuestInfo> MainScenarioQuests { get; }
|
|
|
|
public ImmutableHashSet<ItemReward> RedeemableItems { get; }
|
|
|
|
public QuestId LastMainScenarioQuestId { get; }
|
|
|
|
public IReadOnlyDictionary<ElementId, IQuestInfo> AllQuests => _quests;
|
|
|
|
public static byte GetRequiredGCRank(QuestId questId)
|
|
{
|
|
return GcRankRequirements.GetValueOrDefault<ushort, byte>(_206D_202C_206E_206A_206E_202C_206E_200E_202D_202E_202A_202A_206C_200E_200E_206C_202D_206E_206B_206F_200E_200D_200E_202D_200F_202A_200D_200C_202E_200D_206E_206C_206D_206F_202E_200E_206F_202D_200F_206D_202E((ElementId)questId), 1);
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
public QuestData(IDataManager dataManager, ILogger<QuestData> logger)
|
|
{
|
|
_logger = logger ?? throw _202E_206B_200E_206E_206A_206D_206A_206B_206C_202D_202E_202E_200B_200E_206E_206E_202E_200F_202E_206C_206C_206F_202D_200B_206A_206A_200C_202B_206B_206A_206A_202D_202B_202B_200E_200B_206F_200E_202C_202E_202E(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(901832441));
|
|
Dictionary<uint, uint> questChapters = dataManager.GetExcelSheet<QuestChapter>().Where(delegate(QuestChapter x)
|
|
{
|
|
int num10 = ((x.RowId == 0) ? 277631296 : 277631299);
|
|
while (true)
|
|
{
|
|
int num11 = num10;
|
|
int num12 = 277631297;
|
|
int num13 = num11;
|
|
switch ((num13 | num12) - (num13 & num12))
|
|
{
|
|
case 0:
|
|
goto IL_0048;
|
|
case 1:
|
|
return false;
|
|
case 2:
|
|
return x.Quest.RowId != 0;
|
|
}
|
|
continue;
|
|
IL_0048:
|
|
num10 = 277631299;
|
|
}
|
|
}).ToDictionary((QuestChapter x) => x.Quest.RowId, (QuestChapter x) => x.Redo.RowId);
|
|
Dictionary<uint, byte> startingCities = new Dictionary<uint, byte>();
|
|
byte b = 1;
|
|
while (b <= 3)
|
|
{
|
|
IEnumerator<QuestRedo.QuestRedoParamStruct> enumerator = dataManager.GetExcelSheet<QuestRedo>().GetRow(b).QuestRedoParam.Where((QuestRedo.QuestRedoParamStruct x) => x.Quest.IsValid).GetEnumerator();
|
|
try
|
|
{
|
|
while (_202D_200C_206B_200B_206A_202D_200C_200C_206B_206D_206C_200D_202C_202A_200E_200E_206F_202D_206A_200B_202C_200E_206D_202B_200D_206A_202C_200E_206F_200D_206A_202D_202C_202C_202E_206B_200D_202E_206D_202E((IEnumerator)enumerator))
|
|
{
|
|
QuestRedo.QuestRedoParamStruct current = enumerator.Current;
|
|
startingCities[current.Quest.RowId] = b;
|
|
}
|
|
}
|
|
finally
|
|
{
|
|
if (enumerator != null)
|
|
{
|
|
_200E_202B_206F_202C_206E_200C_206B_206B_206A_206A_202D_202E_202B_202E_200F_200C_200E_206F_200F_202C_202E_206D_206B_202E_206D_200B_200F_206D_206C_206B_200B_202A_206F_206A_202C_202B_202A_202E_200E_200C_202E((IDisposable)enumerator);
|
|
}
|
|
}
|
|
byte num = b;
|
|
int num2 = 1;
|
|
int num3 = num;
|
|
b = (byte)((num3 | num2) + (num3 & num2));
|
|
}
|
|
List<IQuestInfo> list = new List<IQuestInfo>();
|
|
list.AddRange(from x in dataManager.GetExcelSheet<Lumina.Excel.Sheets.Quest>()
|
|
where x.RowId != 0
|
|
where !x.Name.IsEmpty
|
|
where x.IssuerLocation.RowId != 0
|
|
select new QuestInfo(x, questChapters.GetValueOrDefault(x.RowId), startingCities.GetValueOrDefault(x.RowId)));
|
|
list.AddRange(from x in dataManager.GetExcelSheet<SatisfactionNpc>().Where(delegate(SatisfactionNpc x)
|
|
{
|
|
int num10 = ((x.RowId == 0) ? (-1811955487) : (-1811955486));
|
|
while (true)
|
|
{
|
|
int num11 = num10;
|
|
int num12 = -1811955488;
|
|
int num13 = num11;
|
|
int num14 = num13 + num12;
|
|
int num15 = num13 & num12;
|
|
switch (num14 - (num15 + num15))
|
|
{
|
|
case 0:
|
|
goto IL_004a;
|
|
case 1:
|
|
return false;
|
|
case 2:
|
|
return x.Npc.RowId != 0;
|
|
}
|
|
continue;
|
|
IL_004a:
|
|
num10 = -1811955486;
|
|
}
|
|
})
|
|
select new SatisfactionSupplyInfo(x));
|
|
List<IQuestInfo> list2 = list;
|
|
_quests = new ConcurrentDictionary<ElementId, IQuestInfo>();
|
|
foreach (IQuestInfo item in list2)
|
|
{
|
|
if (!_quests.TryAdd(item.QuestId, item))
|
|
{
|
|
_200B_200E_202C_206C_200F_206A_206B_202E_206C_206C_206A_202C_202C_200B_200B_206D_206A_206C_202E_206A_206A_206C_206D_202B_202A_200D_200E_206F_206F_202C_206D_202C_206E_206C_200F_206B_202E_200E_202B_200F_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(2111536420), new object[1] { item.QuestId });
|
|
}
|
|
}
|
|
AddPreviousQuest(425, 495);
|
|
AddPreviousQuest(1480, 2373);
|
|
AddPreviousQuest(1717, 1619);
|
|
AddPreviousQuest(2088, 1619);
|
|
AddPreviousQuest(2062, 1617);
|
|
AddPreviousQuest(2063, 1619);
|
|
AddPreviousQuest(2257, 1655);
|
|
AddPreviousQuest(2608, 2534);
|
|
AddPreviousQuest(2600, 2466);
|
|
AddPreviousQuest(2622, 2490);
|
|
AddPreviousQuest(2624, 2534);
|
|
AddPreviousQuest(2898, 2490);
|
|
AddPreviousQuest(2974, 2491);
|
|
AddPreviousQuest(2975, 2630);
|
|
AddPreviousQuest(2912, 2490);
|
|
AddPreviousQuest(2914, 2537);
|
|
AddPreviousQuest(2919, 2455);
|
|
AddPreviousQuest(2952, 2518);
|
|
AddPreviousQuest(2904, 2503);
|
|
AddPreviousQuest(3038, 2534);
|
|
AddPreviousQuest(3087, 100);
|
|
AddPreviousQuest(3246, 3314);
|
|
AddPreviousQuest(3247, 3320);
|
|
AddPreviousQuest(3270, 3333);
|
|
AddPreviousQuest(3271, 3634);
|
|
AddPreviousQuest(3264, 2247);
|
|
AddPreviousQuest(3253, 2247);
|
|
AddPreviousQuest(3254, 2537);
|
|
AddPreviousQuest(3228, 3320);
|
|
AddPreviousQuest(3234, 3320);
|
|
AddPreviousQuest(3237, 3320);
|
|
AddPreviousQuest(3238, 3634);
|
|
AddPreviousQuest(3240, 3320);
|
|
AddPreviousQuest(3241, 3648);
|
|
AddPreviousQuest(3628, 3301);
|
|
AddPreviousQuest(3655, 2095);
|
|
AddPreviousQuest(3771, 495);
|
|
AddPreviousQuest(4068, 1658);
|
|
AddPreviousQuest(4078, 1583);
|
|
AddPreviousQuest(4150, 4417);
|
|
AddPreviousQuest(4155, 4383);
|
|
AddPreviousQuest(4156, 3326);
|
|
AddPreviousQuest(4158, 4434);
|
|
AddPreviousQuest(4159, 4464);
|
|
AddPreviousQuest(4163, 4398);
|
|
AddPreviousQuest(4165, 4438);
|
|
AddPreviousQuest(4473, 2095);
|
|
AddPreviousQuest(4650, 2374);
|
|
AddPreviousQuest(4662, 3166);
|
|
AddPreviousQuest(4761, 4032);
|
|
AddPreviousQuest(4812, 4750);
|
|
AddPreviousQuest(4851, 2446);
|
|
AddPreviousQuest(4856, 1669);
|
|
AddPreviousQuest(4857, 2553);
|
|
AddPreviousQuest(4979, 4896);
|
|
AddPreviousQuest(4980, 4911);
|
|
AddPreviousQuest(4985, 4903);
|
|
AddPreviousQuest(4987, 4912);
|
|
AddPreviousQuest(4988, 4942);
|
|
AddPreviousQuest(4992, 4912);
|
|
AddPreviousQuest(4999, 4908);
|
|
AddPreviousQuest(4966, 2095);
|
|
AddPreviousQuest(5000, 4908);
|
|
AddPreviousQuest(5001, 4912);
|
|
AddPreviousQuest(3629, 3248);
|
|
AddPreviousQuest(3629, 3272);
|
|
AddPreviousQuest(3629, 3278);
|
|
AddPreviousQuest(3629, 3628);
|
|
AddPreviousQuest(3986, 2115);
|
|
AddPreviousQuest(3986, 2116);
|
|
AddPreviousQuest(3986, 2281);
|
|
AddPreviousQuest(3986, 2333);
|
|
AddPreviousQuest(3986, 2395);
|
|
AddPreviousQuest(3986, 3985);
|
|
AddPreviousQuest(5188, 4841);
|
|
AddPreviousQuest(5188, 4847);
|
|
AddPreviousQuest(5188, 4959);
|
|
ushort[] array = new ushort[20];
|
|
_202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
|
|
ushort[] array2 = array;
|
|
int num4 = 0;
|
|
while (num4 < array2.Length)
|
|
{
|
|
ushort questId = array2[num4];
|
|
SetStartingCity(questId, 1);
|
|
int num5 = num4;
|
|
int num2 = 1;
|
|
int num3 = num5;
|
|
int num6 = num3 ^ num2;
|
|
int num7 = num3 & num2;
|
|
num4 = num6 + (num7 + num7);
|
|
}
|
|
ushort[] array3 = new ushort[11];
|
|
_202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E((Array)array3, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
|
|
array2 = array3;
|
|
num4 = 0;
|
|
while (num4 < array2.Length)
|
|
{
|
|
ushort questId2 = array2[num4];
|
|
SetStartingCity(questId2, 2);
|
|
int num8 = num4;
|
|
int num2 = 1;
|
|
int num3 = num8;
|
|
num4 = (num3 | num2) + (num3 & num2);
|
|
}
|
|
ushort[] array4 = new ushort[19];
|
|
_202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E((Array)array4, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
|
|
array2 = array4;
|
|
num4 = 0;
|
|
while (num4 < array2.Length)
|
|
{
|
|
ushort questId3 = array2[num4];
|
|
SetStartingCity(questId3, 3);
|
|
int num9 = num4;
|
|
int num2 = 1;
|
|
int num3 = num9;
|
|
num4 = (num3 | num2) + (num3 & num2);
|
|
}
|
|
AddGcFollowUpQuests();
|
|
MainScenarioQuests = _quests.Values.Where(delegate(IQuestInfo x)
|
|
{
|
|
QuestInfo questInfo = x as QuestInfo;
|
|
int num10 = ((questInfo == null) ? 1962625655 : 1962625654);
|
|
while (true)
|
|
{
|
|
int num11 = num10;
|
|
int num12 = 1962625655;
|
|
int num13 = num11;
|
|
switch ((num13 | num12) - (num13 & num12))
|
|
{
|
|
case 2:
|
|
goto IL_0048;
|
|
case 1:
|
|
return questInfo.IsMainScenarioQuest;
|
|
case 0:
|
|
return false;
|
|
}
|
|
continue;
|
|
IL_0048:
|
|
num10 = 1962625654;
|
|
}
|
|
}).Cast<QuestInfo>().ToList();
|
|
LastMainScenarioQuestId = (from x in MainScenarioQuests
|
|
where !MainScenarioQuests.Any((QuestInfo y) => y.PreviousQuests.Any((PreviousQuestInfo z) => _003C_003Ec__DisplayClass25_1._200E_206C_202B_206D_206F_206E_206E_200D_206A_202C_200B_206E_200E_202C_202B_206E_202B_202B_202C_200B_200F_202E_206D_200E_202B_206C_200F_206A_202E_206A_202D_200B_206E_206E_202B_206E_202B_206A_200E_202E((ElementId)z.QuestId, x.QuestId)))
|
|
select (QuestId)x.QuestId).FirstOrDefault() ?? _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)0);
|
|
RedeemableItems = list2.Where((IQuestInfo x) => x is QuestInfo).Cast<QuestInfo>().SelectMany((QuestInfo x) => x.ItemRewards)
|
|
.ToImmutableHashSet();
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
private void AddPreviousQuest(ushort questToUpdate, ushort requiredQuestId)
|
|
{
|
|
QuestId questId = _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E(questToUpdate);
|
|
IQuestInfo value;
|
|
int num = ((!_quests.TryGetValue(questId, out value)) ? (-87793651) : (-87793652));
|
|
QuestInfo questInfo = default(QuestInfo);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -87793649;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 0:
|
|
num = -87793652;
|
|
break;
|
|
case 1:
|
|
questInfo.AddPreviousQuest(new PreviousQuestInfo(_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E(requiredQuestId), 0));
|
|
return;
|
|
case 3:
|
|
questInfo = value as QuestInfo;
|
|
num = ((questInfo == null) ? (-87793651) : (-87793650));
|
|
break;
|
|
case 2:
|
|
_206A_200D_202A_202D_200D_202E_200E_206E_200C_206A_202C_206D_200C_202C_206D_200F_206C_200C_206B_202D_200C_200B_202B_206E_200E_202D_206E_202D_206A_202E_200B_206A_200E_202E_202E_202E_206F_202C_200B_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1633400058), new object[1] { questId });
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
private void SetStartingCity(ushort questId, byte startingCity)
|
|
{
|
|
QuestId questId2 = _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E(questId);
|
|
IQuestInfo value;
|
|
int num = ((!_quests.TryGetValue(questId2, out value)) ? (-2047917635) : (-2047917636));
|
|
QuestInfo questInfo = default(QuestInfo);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -2047917634;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 0:
|
|
num = -2047917636;
|
|
break;
|
|
case 1:
|
|
questInfo.StartingCity = startingCity;
|
|
return;
|
|
case 3:
|
|
_206A_200D_202A_202D_200D_202E_200E_206E_200C_206A_202C_206D_200C_202C_206D_200F_206C_200C_206B_202D_200C_200B_202B_206E_200E_202D_206E_202D_206A_202E_200B_206A_200E_202E_202E_202E_206F_202C_200B_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-352584003), new object[1] { questId2 });
|
|
return;
|
|
case 2:
|
|
questInfo = value as QuestInfo;
|
|
num = ((questInfo == null) ? (-2047917635) : (-2047917633));
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
private void AddGcFollowUpQuests()
|
|
{
|
|
ushort[] array = new ushort[3];
|
|
_202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
|
|
ushort[] array2 = array;
|
|
ushort[] array3 = array2;
|
|
int num = 0;
|
|
int num2 = -1969703842;
|
|
QuestId questId = default(QuestId);
|
|
_003C_003Ec__DisplayClass37_0 _003C_003Ec__DisplayClass37_ = default(_003C_003Ec__DisplayClass37_0);
|
|
IQuestInfo value = default(IQuestInfo);
|
|
QuestInfo questInfo = default(QuestInfo);
|
|
while (true)
|
|
{
|
|
int num3 = num2;
|
|
int num4 = -1969703848;
|
|
int num5 = num3;
|
|
switch ((num5 | num4) - (num5 & num4))
|
|
{
|
|
case 1:
|
|
_206A_200D_202A_202D_200D_202E_200E_206E_200C_206A_202C_206D_200C_202C_206D_200F_206C_200C_206B_202D_200C_200B_202B_206E_200E_202D_206E_202D_206A_202E_200B_206A_200E_202E_202E_202E_206F_202C_200B_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1613940727), new object[1] { questId });
|
|
num2 = -1969703846;
|
|
break;
|
|
case 4:
|
|
_003C_003Ec__DisplayClass37_ = new _003C_003Ec__DisplayClass37_0();
|
|
_003C_003Ec__DisplayClass37_.questId = array3[num];
|
|
questId = _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E(_003C_003Ec__DisplayClass37_.questId);
|
|
num2 = ((!_quests.TryGetValue(questId, out value)) ? (-1969703847) : (-1969703848));
|
|
break;
|
|
case 5:
|
|
return;
|
|
case 3:
|
|
num2 = -1969703842;
|
|
break;
|
|
case 6:
|
|
num2 = ((num < array3.Length) ? (-1969703844) : (-1969703843));
|
|
break;
|
|
case 7:
|
|
questInfo.AddQuestLocks(EQuestJoin.AtLeastOne, (from x in array2.Where(_003C_003Ec__DisplayClass37_._003CAddGcFollowUpQuests_003Eb__0)
|
|
select _003C_003Ec._202E_202A_202C_200E_200C_200E_202C_206E_206A_200B_202D_200D_206A_202D_202E_202B_206F_200F_206A_202A_206C_206F_206C_202D_200D_202B_206A_200C_206D_202B_200E_200C_200E_202E_202D_202A_202A_206F_202E_200F_202E(x)).ToArray());
|
|
num2 = -1969703846;
|
|
break;
|
|
case 2:
|
|
{
|
|
int num6 = num;
|
|
num4 = 1;
|
|
num5 = num6;
|
|
int num7 = num5 ^ num4;
|
|
int num8 = num5 & num4;
|
|
num = num7 + (num8 + num8);
|
|
num2 = -1969703842;
|
|
break;
|
|
}
|
|
case 0:
|
|
questInfo = value as QuestInfo;
|
|
num2 = ((questInfo == null) ? (-1969703847) : (-1969703841));
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
public IQuestInfo GetQuestInfo(ElementId elementId)
|
|
{
|
|
return _quests[elementId];
|
|
}
|
|
|
|
public bool TryGetQuestInfo(ElementId elementId, [NotNullWhen(true)] out IQuestInfo? questInfo)
|
|
{
|
|
return _quests.TryGetValue(elementId, out questInfo);
|
|
}
|
|
|
|
public List<IQuestInfo> GetAllByIssuerDataId(uint targetId)
|
|
{
|
|
return _quests.Values.Where((IQuestInfo x) => x.IssuerDataId == targetId).ToList();
|
|
}
|
|
|
|
public bool IsIssuerOfAnyQuest(uint targetId)
|
|
{
|
|
return _quests.Values.Any((IQuestInfo x) => x.IssuerDataId == targetId);
|
|
}
|
|
|
|
public List<IQuestInfo> GetAllByJournalGenre(uint journalGenre)
|
|
{
|
|
return (from x in _quests.Values
|
|
where x.JournalGenre == journalGenre
|
|
orderby x.SortKey, x.QuestId
|
|
select x).ToList();
|
|
}
|
|
|
|
public List<QuestInfo> GetAllByAlliedSociety(EAlliedSociety alliedSociety)
|
|
{
|
|
return (from QuestInfo x in _quests.Values.Where((IQuestInfo x) => x is QuestInfo)
|
|
where x.AlliedSociety == alliedSociety
|
|
orderby x.QuestId
|
|
select x).ToList();
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
public List<QuestInfo> GetClassJobQuests(EClassJob classJob, bool includeRoleQuests = false)
|
|
{
|
|
int num;
|
|
List<uint> list2 = default(List<uint>);
|
|
List<uint> list = default(List<uint>);
|
|
List<uint> list3;
|
|
List<uint> list4;
|
|
List<uint> list5;
|
|
Span<uint> span;
|
|
List<uint> list6;
|
|
Span<uint> span2;
|
|
List<uint> list7;
|
|
List<uint> list8;
|
|
Span<uint> span3;
|
|
List<uint> list9;
|
|
List<uint> list10;
|
|
Span<uint> span4;
|
|
List<uint> list11;
|
|
List<uint> list12;
|
|
Span<uint> span5;
|
|
List<uint> list13;
|
|
Span<uint> span6;
|
|
List<uint> list14;
|
|
Span<uint> span7;
|
|
List<uint> list15;
|
|
Span<uint> span8;
|
|
List<uint> list16;
|
|
List<uint> list17;
|
|
Span<uint> span9;
|
|
List<uint> list18;
|
|
List<uint> list19;
|
|
List<uint> list20;
|
|
Span<uint> span10;
|
|
List<uint> list21;
|
|
Span<uint> span11;
|
|
List<uint> list22;
|
|
Span<uint> span12;
|
|
List<uint> list23;
|
|
Span<uint> span13;
|
|
List<uint> list24;
|
|
Span<uint> span14;
|
|
List<uint> list25;
|
|
Span<uint> span15;
|
|
List<uint> list26;
|
|
Span<uint> span16;
|
|
List<uint> list27;
|
|
Span<uint> span17;
|
|
List<uint> list28;
|
|
Span<uint> span18;
|
|
List<uint> list29;
|
|
Span<uint> span19;
|
|
List<uint> list30;
|
|
List<uint> list31;
|
|
Span<uint> span20;
|
|
List<uint> list32;
|
|
List<uint> list33;
|
|
Span<uint> span21;
|
|
List<uint> list34;
|
|
List<uint> list35;
|
|
List<uint> list36;
|
|
Span<uint> span22;
|
|
List<uint> list37;
|
|
List<uint> list38;
|
|
Span<uint> span23;
|
|
List<uint> list39;
|
|
Span<uint> span24;
|
|
List<uint> list40;
|
|
List<uint> list41;
|
|
Span<uint> span25;
|
|
List<uint> list42;
|
|
Span<uint> span26;
|
|
int num5;
|
|
List<uint> list43;
|
|
switch (classJob)
|
|
{
|
|
default:
|
|
num = -311827817;
|
|
goto IL_00c2;
|
|
case EClassJob.Weaver:
|
|
{
|
|
num5 = 3;
|
|
List<uint> list44 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list44, num5);
|
|
Span<uint> span27 = CollectionsMarshal.AsSpan(list44);
|
|
span27[0] = 45u;
|
|
span27[1] = 46u;
|
|
span27[2] = 47u;
|
|
list2 = list44;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
}
|
|
case EClassJob.Pugilist:
|
|
goto IL_01ef;
|
|
case EClassJob.Goldsmith:
|
|
goto IL_021e;
|
|
case EClassJob.Machinist:
|
|
goto IL_0263;
|
|
case EClassJob.Arcanist:
|
|
goto IL_02a8;
|
|
case EClassJob.Leatherworker:
|
|
goto IL_02d7;
|
|
case EClassJob.RedMage:
|
|
goto IL_031c;
|
|
case EClassJob.Viper:
|
|
goto IL_035c;
|
|
case EClassJob.Blacksmith:
|
|
goto IL_038e;
|
|
case EClassJob.Rogue:
|
|
goto IL_03d3;
|
|
case EClassJob.Gladiator:
|
|
goto IL_0402;
|
|
case EClassJob.Dragoon:
|
|
goto IL_0430;
|
|
case EClassJob.Reaper:
|
|
goto IL_0485;
|
|
case EClassJob.Carpenter:
|
|
goto IL_04b7;
|
|
case EClassJob.Dancer:
|
|
goto IL_0504;
|
|
case EClassJob.Samurai:
|
|
goto IL_053f;
|
|
case EClassJob.Alchemist:
|
|
goto IL_0579;
|
|
case EClassJob.Astrologian:
|
|
goto IL_05be;
|
|
case EClassJob.Summoner:
|
|
goto IL_0603;
|
|
case EClassJob.BlackMage:
|
|
goto IL_066e;
|
|
case EClassJob.Beastmaster:
|
|
goto IL_06b3;
|
|
case EClassJob.Culinarian:
|
|
goto IL_06c5;
|
|
case EClassJob.Botanist:
|
|
goto IL_070a;
|
|
case EClassJob.Miner:
|
|
goto IL_074f;
|
|
case EClassJob.Ninja:
|
|
goto IL_0794;
|
|
case EClassJob.Fisher:
|
|
goto IL_07d9;
|
|
case EClassJob.Marauder:
|
|
goto IL_081e;
|
|
case EClassJob.Pictomancer:
|
|
goto IL_084d;
|
|
case EClassJob.Monk:
|
|
goto IL_087f;
|
|
case EClassJob.Conjurer:
|
|
goto IL_08c4;
|
|
case EClassJob.Armorer:
|
|
goto IL_08f3;
|
|
case EClassJob.Adventurer:
|
|
break;
|
|
case EClassJob.BlueMage:
|
|
goto IL_0948;
|
|
case EClassJob.Paladin:
|
|
goto IL_09a4;
|
|
case EClassJob.Warrior:
|
|
goto IL_09e9;
|
|
case EClassJob.Lancer:
|
|
goto IL_0a2e;
|
|
case EClassJob.Bard:
|
|
goto IL_0a5d;
|
|
case EClassJob.Sage:
|
|
goto IL_0aae;
|
|
case EClassJob.DarkKnight:
|
|
goto IL_0ae0;
|
|
case EClassJob.Thaumaturge:
|
|
goto IL_0b25;
|
|
case EClassJob.Scholar:
|
|
goto IL_0b54;
|
|
case EClassJob.WhiteMage:
|
|
goto IL_0b99;
|
|
case EClassJob.Archer:
|
|
goto IL_0bde;
|
|
case EClassJob.Gunbreaker:
|
|
goto IL_0c0d;
|
|
IL_00c2:
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -311827818;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 37:
|
|
goto end_IL_00c2;
|
|
case 7:
|
|
goto IL_01ef;
|
|
case 18:
|
|
goto IL_021e;
|
|
case 6:
|
|
goto IL_0263;
|
|
case 28:
|
|
goto IL_02a8;
|
|
case 24:
|
|
goto IL_02d7;
|
|
case 44:
|
|
goto IL_031c;
|
|
case 36:
|
|
goto IL_035c;
|
|
case 23:
|
|
goto IL_038e;
|
|
case 39:
|
|
goto IL_03d3;
|
|
case 34:
|
|
goto IL_0402;
|
|
case 49:
|
|
goto IL_0430;
|
|
case 16:
|
|
throw _202D_200B_200E_202B_200D_200F_206E_206D_202B_202A_200C_202A_202C_206F_206F_206F_200D_200B_200C_200F_202A_200C_200F_206F_200F_206F_202D_200F_202D_206E_202E_202A_202A_202B_200F_202B_200B_200F_202B_206F_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1324842693));
|
|
case 21:
|
|
goto IL_0485;
|
|
case 48:
|
|
goto IL_04b7;
|
|
case 13:
|
|
return GetQuestsInNewGamePlusChapters(list);
|
|
case 46:
|
|
goto IL_0504;
|
|
case 1:
|
|
num = -311827834;
|
|
break;
|
|
case 12:
|
|
goto IL_053f;
|
|
case 2:
|
|
goto IL_0579;
|
|
case 14:
|
|
goto IL_05be;
|
|
case 47:
|
|
goto IL_0603;
|
|
case 19:
|
|
goto IL_064e;
|
|
case 25:
|
|
goto IL_066e;
|
|
case 20:
|
|
goto IL_06b3;
|
|
case 5:
|
|
goto IL_06c5;
|
|
case 40:
|
|
goto IL_070a;
|
|
case 32:
|
|
goto IL_074f;
|
|
case 38:
|
|
goto IL_0794;
|
|
case 31:
|
|
goto IL_07d9;
|
|
case 10:
|
|
goto IL_081e;
|
|
case 43:
|
|
goto IL_084d;
|
|
case 41:
|
|
goto IL_087f;
|
|
case 42:
|
|
goto IL_08c4;
|
|
case 26:
|
|
goto IL_08f3;
|
|
case 45:
|
|
goto end_IL_0001;
|
|
case 11:
|
|
goto IL_0948;
|
|
case 33:
|
|
goto IL_09a4;
|
|
case 9:
|
|
goto IL_09e9;
|
|
case 0:
|
|
goto IL_0a2e;
|
|
case 15:
|
|
goto IL_0a5d;
|
|
case 17:
|
|
num = -311827817;
|
|
break;
|
|
case 29:
|
|
goto IL_0aae;
|
|
case 8:
|
|
goto IL_0ae0;
|
|
case 3:
|
|
goto IL_0b25;
|
|
case 35:
|
|
goto IL_0b54;
|
|
case 27:
|
|
goto IL_0b99;
|
|
case 22:
|
|
goto IL_0bde;
|
|
case 30:
|
|
goto IL_0c0d;
|
|
case 4:
|
|
list.AddRange(GetRoleQuestIds(classJob));
|
|
num = -311827813;
|
|
break;
|
|
}
|
|
continue;
|
|
IL_064e:
|
|
list = list2;
|
|
num = ((!includeRoleQuests) ? (-311827813) : (-311827822));
|
|
continue;
|
|
end_IL_00c2:
|
|
break;
|
|
}
|
|
goto case EClassJob.Weaver;
|
|
IL_0c0d:
|
|
num5 = 1;
|
|
list3 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list3, num5);
|
|
CollectionsMarshal.AsSpan(list3)[0] = 84u;
|
|
list2 = list3;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_0bde:
|
|
num5 = 1;
|
|
list4 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list4, num5);
|
|
CollectionsMarshal.AsSpan(list4)[0] = 70u;
|
|
list2 = list4;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_0b99:
|
|
num5 = 3;
|
|
list5 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list5, num5);
|
|
span = CollectionsMarshal.AsSpan(list5);
|
|
span[0] = 86u;
|
|
span[1] = 87u;
|
|
span[2] = 88u;
|
|
list2 = list5;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_0b54:
|
|
num5 = 3;
|
|
list6 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list6, num5);
|
|
span2 = CollectionsMarshal.AsSpan(list6);
|
|
span2[0] = 90u;
|
|
span2[1] = 91u;
|
|
span2[2] = 92u;
|
|
list2 = list6;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_0b25:
|
|
num5 = 1;
|
|
list7 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list7, num5);
|
|
CollectionsMarshal.AsSpan(list7)[0] = 71u;
|
|
list2 = list7;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_0ae0:
|
|
num5 = 3;
|
|
list8 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list8, num5);
|
|
span3 = CollectionsMarshal.AsSpan(list8);
|
|
span3[0] = 80u;
|
|
span3[1] = 81u;
|
|
span3[2] = 82u;
|
|
list2 = list8;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_0aae:
|
|
num5 = 1;
|
|
list9 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list9, num5);
|
|
CollectionsMarshal.AsSpan(list9)[0] = 152u;
|
|
list2 = list9;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_0a5d:
|
|
num5 = 3;
|
|
list10 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list10, num5);
|
|
span4 = CollectionsMarshal.AsSpan(list10);
|
|
span4[0] = 113u;
|
|
span4[1] = 114u;
|
|
span4[2] = 115u;
|
|
list2 = list10;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_0a2e:
|
|
num5 = 1;
|
|
list11 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list11, num5);
|
|
CollectionsMarshal.AsSpan(list11)[0] = 68u;
|
|
list2 = list11;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_09e9:
|
|
num5 = 3;
|
|
list12 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list12, num5);
|
|
span5 = CollectionsMarshal.AsSpan(list12);
|
|
span5[0] = 76u;
|
|
span5[1] = 77u;
|
|
span5[2] = 78u;
|
|
list2 = list12;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_09a4:
|
|
num5 = 3;
|
|
list13 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list13, num5);
|
|
span6 = CollectionsMarshal.AsSpan(list13);
|
|
span6[0] = 72u;
|
|
span6[1] = 73u;
|
|
span6[2] = 74u;
|
|
list2 = list13;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_0948:
|
|
num5 = 4;
|
|
list14 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list14, num5);
|
|
span7 = CollectionsMarshal.AsSpan(list14);
|
|
span7[0] = 134u;
|
|
span7[1] = 135u;
|
|
span7[2] = 146u;
|
|
span7[3] = 170u;
|
|
list2 = list14;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_08f3:
|
|
num5 = 3;
|
|
list15 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list15, num5);
|
|
span8 = CollectionsMarshal.AsSpan(list15);
|
|
span8[0] = 36u;
|
|
span8[1] = 37u;
|
|
span8[2] = 38u;
|
|
list2 = list15;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_08c4:
|
|
num5 = 1;
|
|
list16 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list16, num5);
|
|
CollectionsMarshal.AsSpan(list16)[0] = 65u;
|
|
list2 = list16;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_087f:
|
|
num5 = 3;
|
|
list17 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list17, num5);
|
|
span9 = CollectionsMarshal.AsSpan(list17);
|
|
span9[0] = 98u;
|
|
span9[1] = 99u;
|
|
span9[2] = 100u;
|
|
list2 = list17;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_084d:
|
|
num5 = 1;
|
|
list18 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list18, num5);
|
|
CollectionsMarshal.AsSpan(list18)[0] = 177u;
|
|
list2 = list18;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_081e:
|
|
num5 = 1;
|
|
list19 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list19, num5);
|
|
CollectionsMarshal.AsSpan(list19)[0] = 64u;
|
|
list2 = list19;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_07d9:
|
|
num5 = 3;
|
|
list20 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list20, num5);
|
|
span10 = CollectionsMarshal.AsSpan(list20);
|
|
span10[0] = 60u;
|
|
span10[1] = 61u;
|
|
span10[2] = 62u;
|
|
list2 = list20;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_0794:
|
|
num5 = 3;
|
|
list21 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list21, num5);
|
|
span11 = CollectionsMarshal.AsSpan(list21);
|
|
span11[0] = 106u;
|
|
span11[1] = 107u;
|
|
span11[2] = 108u;
|
|
list2 = list21;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_074f:
|
|
num5 = 3;
|
|
list22 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list22, num5);
|
|
span12 = CollectionsMarshal.AsSpan(list22);
|
|
span12[0] = 54u;
|
|
span12[1] = 55u;
|
|
span12[2] = 56u;
|
|
list2 = list22;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_070a:
|
|
num5 = 3;
|
|
list23 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list23, num5);
|
|
span13 = CollectionsMarshal.AsSpan(list23);
|
|
span13[0] = 57u;
|
|
span13[1] = 58u;
|
|
span13[2] = 59u;
|
|
list2 = list23;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_06c5:
|
|
num5 = 3;
|
|
list24 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list24, num5);
|
|
span14 = CollectionsMarshal.AsSpan(list24);
|
|
span14[0] = 51u;
|
|
span14[1] = 52u;
|
|
span14[2] = 53u;
|
|
list2 = list24;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_06b3:
|
|
list2 = new List<uint>();
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_066e:
|
|
num5 = 3;
|
|
list25 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list25, num5);
|
|
span15 = CollectionsMarshal.AsSpan(list25);
|
|
span15[0] = 123u;
|
|
span15[1] = 124u;
|
|
span15[2] = 125u;
|
|
list2 = list25;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_0603:
|
|
num5 = 3;
|
|
list26 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list26, num5);
|
|
span16 = CollectionsMarshal.AsSpan(list26);
|
|
span16[0] = 127u;
|
|
span16[1] = 128u;
|
|
span16[2] = 129u;
|
|
list2 = list26;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_05be:
|
|
num5 = 3;
|
|
list27 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list27, num5);
|
|
span17 = CollectionsMarshal.AsSpan(list27);
|
|
span17[0] = 94u;
|
|
span17[1] = 95u;
|
|
span17[2] = 96u;
|
|
list2 = list27;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_0579:
|
|
num5 = 3;
|
|
list28 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list28, num5);
|
|
span18 = CollectionsMarshal.AsSpan(list28);
|
|
span18[0] = 48u;
|
|
span18[1] = 49u;
|
|
span18[2] = 50u;
|
|
list2 = list28;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_053f:
|
|
num5 = 2;
|
|
list29 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list29, num5);
|
|
span19 = CollectionsMarshal.AsSpan(list29);
|
|
span19[0] = 110u;
|
|
span19[1] = 111u;
|
|
list2 = list29;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_0504:
|
|
num5 = 1;
|
|
list30 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list30, num5);
|
|
CollectionsMarshal.AsSpan(list30)[0] = 121u;
|
|
list2 = list30;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_04b7:
|
|
num5 = 3;
|
|
list31 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list31, num5);
|
|
span20 = CollectionsMarshal.AsSpan(list31);
|
|
span20[0] = 30u;
|
|
span20[1] = 31u;
|
|
span20[2] = 32u;
|
|
list2 = list31;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_0485:
|
|
num5 = 1;
|
|
list32 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list32, num5);
|
|
CollectionsMarshal.AsSpan(list32)[0] = 153u;
|
|
list2 = list32;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_0430:
|
|
num5 = 3;
|
|
list33 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list33, num5);
|
|
span21 = CollectionsMarshal.AsSpan(list33);
|
|
span21[0] = 102u;
|
|
span21[1] = 103u;
|
|
span21[2] = 104u;
|
|
list2 = list33;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_0402:
|
|
num5 = 1;
|
|
list34 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list34, num5);
|
|
CollectionsMarshal.AsSpan(list34)[0] = 63u;
|
|
list2 = list34;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_03d3:
|
|
num5 = 1;
|
|
list35 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list35, num5);
|
|
CollectionsMarshal.AsSpan(list35)[0] = 69u;
|
|
list2 = list35;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_038e:
|
|
num5 = 3;
|
|
list36 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list36, num5);
|
|
span22 = CollectionsMarshal.AsSpan(list36);
|
|
span22[0] = 33u;
|
|
span22[1] = 34u;
|
|
span22[2] = 35u;
|
|
list2 = list36;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_035c:
|
|
num5 = 1;
|
|
list37 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list37, num5);
|
|
CollectionsMarshal.AsSpan(list37)[0] = 176u;
|
|
list2 = list37;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_031c:
|
|
num5 = 2;
|
|
list38 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list38, num5);
|
|
span23 = CollectionsMarshal.AsSpan(list38);
|
|
span23[0] = 131u;
|
|
span23[1] = 132u;
|
|
list2 = list38;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_02d7:
|
|
num5 = 3;
|
|
list39 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list39, num5);
|
|
span24 = CollectionsMarshal.AsSpan(list39);
|
|
span24[0] = 42u;
|
|
span24[1] = 43u;
|
|
span24[2] = 44u;
|
|
list2 = list39;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_02a8:
|
|
num5 = 1;
|
|
list40 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list40, num5);
|
|
CollectionsMarshal.AsSpan(list40)[0] = 66u;
|
|
list2 = list40;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_0263:
|
|
num5 = 3;
|
|
list41 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list41, num5);
|
|
span25 = CollectionsMarshal.AsSpan(list41);
|
|
span25[0] = 117u;
|
|
span25[1] = 118u;
|
|
span25[2] = 119u;
|
|
list2 = list41;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_021e:
|
|
num5 = 3;
|
|
list42 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list42, num5);
|
|
span26 = CollectionsMarshal.AsSpan(list42);
|
|
span26[0] = 39u;
|
|
span26[1] = 40u;
|
|
span26[2] = 41u;
|
|
list2 = list42;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
IL_01ef:
|
|
num5 = 1;
|
|
list43 = new List<uint>(num5);
|
|
CollectionsMarshal.SetCount(list43, num5);
|
|
CollectionsMarshal.AsSpan(list43)[0] = 67u;
|
|
list2 = list43;
|
|
num = -311827835;
|
|
goto IL_00c2;
|
|
end_IL_0001:
|
|
break;
|
|
}
|
|
throw _202D_200B_200E_202B_200D_200F_206E_206D_202B_202A_200C_202A_202C_206F_206F_206F_200D_200B_200C_200F_202A_200C_200F_206F_200F_206F_202D_200F_202D_206E_202E_202A_202A_202B_200F_202B_200B_200F_202B_206F_202E(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(688705615));
|
|
}
|
|
|
|
public List<QuestInfo> GetRoleQuests(EClassJob referenceClassJob)
|
|
{
|
|
return GetQuestsInNewGamePlusChapters(GetRoleQuestIds(referenceClassJob).ToList());
|
|
}
|
|
|
|
public List<QuestInfo> GetRoleQuestsByChapter(uint chapterId)
|
|
{
|
|
int num = 1;
|
|
List<uint> list = new List<uint>(num);
|
|
CollectionsMarshal.SetCount(list, num);
|
|
CollectionsMarshal.AsSpan(list)[0] = chapterId;
|
|
return GetQuestsInNewGamePlusChapters(list);
|
|
}
|
|
|
|
private static IEnumerable<uint> GetRoleQuestIds(EClassJob classJob)
|
|
{
|
|
return ResolveRoleDataForJob(classJob)?.Chapters ?? Array.Empty<uint>();
|
|
}
|
|
|
|
public static IReadOnlyList<QuestId> GetFinalRoleQuests(ERoleQuestPreference preference, EClassJob currentJob)
|
|
{
|
|
return ResolveRoleData(preference, currentJob)?.FinalQuests ?? Array.Empty<QuestId>();
|
|
}
|
|
|
|
public static IReadOnlyList<uint> GetRoleQuestChaptersForPreference(ERoleQuestPreference preference, EClassJob currentJob)
|
|
{
|
|
return ResolveRoleData(preference, currentJob)?.Chapters ?? Array.Empty<uint>();
|
|
}
|
|
|
|
public static bool JobMatchesRolePreference(ERoleQuestPreference preference, EClassJob classJob)
|
|
{
|
|
int num = ((preference != ERoleQuestPreference.Default) ? 505783966 : 505783967);
|
|
RoleQuestData value = default(RoleQuestData);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 505783964;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 4:
|
|
num = 505783967;
|
|
break;
|
|
case 2:
|
|
num = ((!RoleDataByPreference.TryGetValue(preference, out value)) ? 505783964 : 505783965);
|
|
break;
|
|
case 0:
|
|
return false;
|
|
case 3:
|
|
return true;
|
|
case 1:
|
|
return value.JobMatch(classJob);
|
|
}
|
|
}
|
|
}
|
|
|
|
private static RoleQuestData? ResolveRoleData(ERoleQuestPreference preference, EClassJob currentJob)
|
|
{
|
|
int num = ((preference == ERoleQuestPreference.Default) ? (-1367229614) : (-1367229615));
|
|
RoleQuestData value = default(RoleQuestData);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -1367229616;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 2:
|
|
return ResolveRoleDataForJob(currentJob);
|
|
case 1:
|
|
num = ((!RoleDataByPreference.TryGetValue(preference, out value)) ? (-1367229614) : (-1367229613));
|
|
break;
|
|
case 0:
|
|
num = -1367229615;
|
|
break;
|
|
case 3:
|
|
return value;
|
|
}
|
|
}
|
|
}
|
|
|
|
private static RoleQuestData? ResolveRoleDataForJob(EClassJob classJob)
|
|
{
|
|
return AllRoleData.FirstOrDefault((RoleQuestData d) => d.JobMatch(classJob));
|
|
}
|
|
|
|
private List<QuestInfo> GetQuestsInNewGamePlusChapters(List<uint> chapterIds)
|
|
{
|
|
return (from QuestInfo x in _quests.Values.Where((IQuestInfo x) => x is QuestInfo)
|
|
where chapterIds.Contains(x.NewGamePlusChapter)
|
|
select x).ToList();
|
|
}
|
|
|
|
public static List<QuestId> GetLockedClassQuests()
|
|
{
|
|
byte b = _202A_202D_200C_202C_202D_206D_202C_200D_202C_200F_202E_202C_202B_206E_200F_202B_206A_200B_206D_202B_206C_206A_200C_200F_202D_200C_206B_206E_206F_206D_200D_202C_206F_206E_200D_206C_200B_202C_206D_202C_202E();
|
|
int num = ((b != _cachedFirstClass) ? (-1241614056) : (-1241614050));
|
|
EClassJob eClassJob = default(EClassJob);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -1241614049;
|
|
int num4 = num2;
|
|
int num5;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 3:
|
|
return new List<QuestId>();
|
|
case 7:
|
|
num = ((b != 0) ? (-1241614054) : (-1241614055));
|
|
break;
|
|
case 2:
|
|
{
|
|
int num6 = 8;
|
|
List<List<ushort>> list = new List<List<ushort>>(num6);
|
|
CollectionsMarshal.SetCount(list, num6);
|
|
Span<List<ushort>> span = CollectionsMarshal.AsSpan(list);
|
|
ref List<ushort> reference = ref span[0];
|
|
List<ushort> list2;
|
|
if (eClassJob != EClassJob.Gladiator)
|
|
{
|
|
int num7 = 2;
|
|
list2 = new List<ushort>(num7);
|
|
CollectionsMarshal.SetCount(list2, num7);
|
|
Span<ushort> span2 = CollectionsMarshal.AsSpan(list2);
|
|
span2[0] = 253;
|
|
span2[1] = 261;
|
|
}
|
|
else
|
|
{
|
|
int num7 = 4;
|
|
list2 = new List<ushort>(num7);
|
|
CollectionsMarshal.SetCount(list2, num7);
|
|
Span<ushort> span3 = CollectionsMarshal.AsSpan(list2);
|
|
span3[0] = 177;
|
|
span3[1] = 285;
|
|
span3[2] = 286;
|
|
span3[3] = 288;
|
|
}
|
|
reference = list2;
|
|
ref List<ushort> reference2 = ref span[1];
|
|
List<ushort> list3;
|
|
if (eClassJob != EClassJob.Pugilist)
|
|
{
|
|
int num7 = 2;
|
|
list3 = new List<ushort>(num7);
|
|
CollectionsMarshal.SetCount(list3, num7);
|
|
Span<ushort> span4 = CollectionsMarshal.AsSpan(list3);
|
|
span4[0] = 533;
|
|
span4[1] = 555;
|
|
}
|
|
else
|
|
{
|
|
int num7 = 4;
|
|
list3 = new List<ushort>(num7);
|
|
CollectionsMarshal.SetCount(list3, num7);
|
|
Span<ushort> span5 = CollectionsMarshal.AsSpan(list3);
|
|
span5[0] = 178;
|
|
span5[1] = 532;
|
|
span5[2] = 553;
|
|
span5[3] = 698;
|
|
}
|
|
reference2 = list3;
|
|
ref List<ushort> reference3 = ref span[2];
|
|
List<ushort> list4;
|
|
if (eClassJob != EClassJob.Marauder)
|
|
{
|
|
int num7 = 2;
|
|
list4 = new List<ushort>(num7);
|
|
CollectionsMarshal.SetCount(list4, num7);
|
|
Span<ushort> span6 = CollectionsMarshal.AsSpan(list4);
|
|
span6[0] = 311;
|
|
span6[1] = 314;
|
|
}
|
|
else
|
|
{
|
|
int num7 = 4;
|
|
list4 = new List<ushort>(num7);
|
|
CollectionsMarshal.SetCount(list4, num7);
|
|
Span<ushort> span7 = CollectionsMarshal.AsSpan(list4);
|
|
span7[0] = 179;
|
|
span7[1] = 310;
|
|
span7[2] = 312;
|
|
span7[3] = 315;
|
|
}
|
|
reference3 = list4;
|
|
ref List<ushort> reference4 = ref span[3];
|
|
List<ushort> list5;
|
|
if (eClassJob != EClassJob.Lancer)
|
|
{
|
|
int num7 = 2;
|
|
list5 = new List<ushort>(num7);
|
|
CollectionsMarshal.SetCount(list5, num7);
|
|
Span<ushort> span8 = CollectionsMarshal.AsSpan(list5);
|
|
span8[0] = 23;
|
|
span8[1] = 35;
|
|
}
|
|
else
|
|
{
|
|
int num7 = 4;
|
|
list5 = new List<ushort>(num7);
|
|
CollectionsMarshal.SetCount(list5, num7);
|
|
Span<ushort> span9 = CollectionsMarshal.AsSpan(list5);
|
|
span9[0] = 180;
|
|
span9[1] = 132;
|
|
span9[2] = 218;
|
|
span9[3] = 143;
|
|
}
|
|
reference4 = list5;
|
|
ref List<ushort> reference5 = ref span[4];
|
|
List<ushort> list6;
|
|
if (eClassJob != EClassJob.Archer)
|
|
{
|
|
int num7 = 2;
|
|
list6 = new List<ushort>(num7);
|
|
CollectionsMarshal.SetCount(list6, num7);
|
|
Span<ushort> span10 = CollectionsMarshal.AsSpan(list6);
|
|
span10[0] = 21;
|
|
span10[1] = 67;
|
|
}
|
|
else
|
|
{
|
|
int num7 = 4;
|
|
list6 = new List<ushort>(num7);
|
|
CollectionsMarshal.SetCount(list6, num7);
|
|
Span<ushort> span11 = CollectionsMarshal.AsSpan(list6);
|
|
span11[0] = 181;
|
|
span11[1] = 131;
|
|
span11[2] = 219;
|
|
span11[3] = 134;
|
|
}
|
|
reference5 = list6;
|
|
ref List<ushort> reference6 = ref span[5];
|
|
List<ushort> list7;
|
|
if (eClassJob != EClassJob.Conjurer)
|
|
{
|
|
int num7 = 2;
|
|
list7 = new List<ushort>(num7);
|
|
CollectionsMarshal.SetCount(list7, num7);
|
|
Span<ushort> span12 = CollectionsMarshal.AsSpan(list7);
|
|
span12[0] = 22;
|
|
span12[1] = 91;
|
|
}
|
|
else
|
|
{
|
|
int num7 = 4;
|
|
list7 = new List<ushort>(num7);
|
|
CollectionsMarshal.SetCount(list7, num7);
|
|
Span<ushort> span13 = CollectionsMarshal.AsSpan(list7);
|
|
span13[0] = 182;
|
|
span13[1] = 133;
|
|
span13[2] = 211;
|
|
span13[3] = 147;
|
|
}
|
|
reference6 = list7;
|
|
ref List<ushort> reference7 = ref span[6];
|
|
List<ushort> list8;
|
|
if (eClassJob != EClassJob.Thaumaturge)
|
|
{
|
|
int num7 = 2;
|
|
list8 = new List<ushort>(num7);
|
|
CollectionsMarshal.SetCount(list8, num7);
|
|
Span<ushort> span14 = CollectionsMarshal.AsSpan(list8);
|
|
span14[0] = 345;
|
|
span14[1] = 348;
|
|
}
|
|
else
|
|
{
|
|
int num7 = 4;
|
|
list8 = new List<ushort>(num7);
|
|
CollectionsMarshal.SetCount(list8, num7);
|
|
Span<ushort> span15 = CollectionsMarshal.AsSpan(list8);
|
|
span15[0] = 183;
|
|
span15[1] = 344;
|
|
span15[2] = 346;
|
|
span15[3] = 349;
|
|
}
|
|
reference7 = list8;
|
|
ref List<ushort> reference8 = ref span[7];
|
|
List<ushort> list9;
|
|
if (eClassJob != EClassJob.Arcanist)
|
|
{
|
|
int num7 = 2;
|
|
list9 = new List<ushort>(num7);
|
|
CollectionsMarshal.SetCount(list9, num7);
|
|
Span<ushort> span16 = CollectionsMarshal.AsSpan(list9);
|
|
span16[0] = 453;
|
|
span16[1] = 456;
|
|
}
|
|
else
|
|
{
|
|
int num7 = 4;
|
|
list9 = new List<ushort>(num7);
|
|
CollectionsMarshal.SetCount(list9, num7);
|
|
Span<ushort> span17 = CollectionsMarshal.AsSpan(list9);
|
|
span17[0] = 451;
|
|
span17[1] = 452;
|
|
span17[2] = 454;
|
|
span17[3] = 457;
|
|
}
|
|
reference8 = list9;
|
|
_cachedFirstClass = b;
|
|
_cachedLockedClassQuests = (from x in list.SelectMany((List<ushort> x) => x)
|
|
select _003C_003Ec._202E_202A_202C_200E_200C_200E_202C_206E_206A_200B_202D_200D_206A_202D_202E_202B_206F_200F_206A_202A_206C_206F_206C_202D_200D_202B_206A_200C_206D_202B_200E_200C_200E_202E_202D_202A_202A_206F_202E_200F_202E(x)).ToList();
|
|
return _cachedLockedClassQuests;
|
|
}
|
|
case 5:
|
|
num5 = b;
|
|
goto IL_05df;
|
|
case 4:
|
|
return _cachedLockedClassQuests;
|
|
case 1:
|
|
num = ((_cachedLockedClassQuests.Count <= 0) ? (-1241614056) : (-1241614053));
|
|
break;
|
|
case 0:
|
|
num = -1241614050;
|
|
break;
|
|
case 6:
|
|
{
|
|
num5 = 0;
|
|
goto IL_05df;
|
|
}
|
|
IL_05df:
|
|
eClassJob = (EClassJob)num5;
|
|
num = ((eClassJob != EClassJob.Adventurer) ? (-1241614051) : (-1241614052));
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
public void ApplySeasonalOverride(ElementId questId, bool isSeasonal, DateTime? expiry)
|
|
{
|
|
IQuestInfo value;
|
|
int num = ((!_quests.TryGetValue(questId, out value)) ? 1563318805 : 1563318803);
|
|
QuestInfo questInfo = default(QuestInfo);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 1563318805;
|
|
int num4 = num2;
|
|
DateTime? obj;
|
|
DateTime? seasonalQuestExpiry;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 9:
|
|
_200B_200E_202C_206C_200F_206A_206B_202E_206C_206C_206A_202C_202C_200B_200B_206D_206A_206C_202E_206A_206A_206C_206D_202B_202A_200D_200E_206F_206F_202C_206D_202C_206E_206C_200F_206B_202E_200E_202B_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(723364257), new object[1] { questId });
|
|
return;
|
|
case 4:
|
|
num = (expiry.HasValue ? 1563318804 : 1563318813);
|
|
break;
|
|
case 7:
|
|
num = ((value == null) ? 1563318807 : 1563318806);
|
|
break;
|
|
case 6:
|
|
questInfo = value as QuestInfo;
|
|
num = ((questInfo == null) ? 1563318805 : 1563318801);
|
|
break;
|
|
case 1:
|
|
obj = ExpiryUtils.NormalizeExpiry(expiry.Value);
|
|
goto IL_010b;
|
|
case 5:
|
|
num = 1563318803;
|
|
break;
|
|
case 0:
|
|
num = ((!(value is UnlockLinkQuestInfo)) ? 1563318802 : 1563318812);
|
|
break;
|
|
case 8:
|
|
obj = null;
|
|
goto IL_010b;
|
|
case 3:
|
|
_200B_200E_202C_206C_200F_206A_206B_202E_206C_206C_206A_202C_202C_200B_200B_206D_206A_206C_202E_206A_206A_206C_206D_202B_202A_200D_200E_206F_206F_202C_206D_202C_206E_206C_200F_206B_202E_200E_202B_200F_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1550302133), new object[2]
|
|
{
|
|
questId,
|
|
_206B_202D_206F_202B_206D_202D_200E_202E_206B_202D_200C_206A_202A_200B_202A_206C_202B_202A_202C_202E_202D_202A_202A_206B_200D_200E_206F_200F_202E_202C_206F_200E_202D_200E_206D_202C_200E_202B_206A_202E((MemberInfo)_206A_206E_206F_202B_200E_200C_206B_206B_200B_200F_206A_200E_200E_202A_202D_206A_206E_202B_206C_202C_202C_202E_200B_200E_200F_206E_202C_202A_202D_200F_206E_206B_200E_200C_200E_206B_200E_202A_200B_206D_202E((object)value))
|
|
});
|
|
return;
|
|
case 2:
|
|
{
|
|
_206A_200D_202A_202D_200D_202E_200E_206E_200C_206A_202C_206D_200C_202C_206D_200F_206C_200C_206B_202D_200C_200B_202B_206E_200E_202D_206E_202D_206A_202E_200B_206A_200E_202E_202E_202E_206F_202C_200B_206A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1273478229), new object[1] { questId });
|
|
return;
|
|
}
|
|
IL_010b:
|
|
seasonalQuestExpiry = obj;
|
|
questInfo.IsSeasonalQuest = isSeasonal;
|
|
questInfo.SeasonalQuestExpiry = seasonalQuestExpiry;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
public void AddOrReplaceQuestInfo(IQuestInfo info)
|
|
{
|
|
_200D_206A_200E_202A_206F_202B_202E_202D_200F_202A_202A_202E_206A_206E_200F_202C_202D_202D_200E_206A_202C_200D_202A_202B_206A_206E_206E_206C_202C_200F_206A_200F_200F_206E_206C_206F_202B_202C_206C_206A_202E((object)info, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1327166408));
|
|
_quests[info.QuestId] = info;
|
|
_200B_200E_202C_206C_200F_206A_206B_202E_206C_206C_206A_202C_202C_200B_200B_206D_206A_206C_202E_206A_206A_206C_206D_202B_202A_200D_200E_206F_206F_202C_206D_202C_206E_206C_200F_206B_202E_200E_202B_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(653660238), new object[1] { info.QuestId });
|
|
}
|
|
|
|
static QuestData()
|
|
{
|
|
Dictionary<uint, List<ushort>> dictionary = new Dictionary<uint, List<ushort>>();
|
|
int num = 4;
|
|
List<ushort> list = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list, num);
|
|
Span<ushort> span = CollectionsMarshal.AsSpan(list);
|
|
span[0] = 1744;
|
|
span[1] = 1759;
|
|
span[2] = 1760;
|
|
span[3] = 2111;
|
|
dictionary.Add(397u, list);
|
|
num = 4;
|
|
List<ushort> list2 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list2, num);
|
|
Span<ushort> span2 = CollectionsMarshal.AsSpan(list2);
|
|
span2[0] = 1771;
|
|
span2[1] = 1790;
|
|
span2[2] = 1797;
|
|
span2[3] = 1802;
|
|
dictionary.Add(398u, list2);
|
|
num = 4;
|
|
List<ushort> list3 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list3, num);
|
|
Span<ushort> span3 = CollectionsMarshal.AsSpan(list3);
|
|
span3[0] = 1936;
|
|
span3[1] = 1945;
|
|
span3[2] = 1963;
|
|
span3[3] = 1966;
|
|
dictionary.Add(399u, list3);
|
|
num = 4;
|
|
List<ushort> list4 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list4, num);
|
|
Span<ushort> span4 = CollectionsMarshal.AsSpan(list4);
|
|
span4[0] = 1819;
|
|
span4[1] = 1823;
|
|
span4[2] = 1828;
|
|
span4[3] = 1835;
|
|
dictionary.Add(400u, list4);
|
|
num = 4;
|
|
List<ushort> list5 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list5, num);
|
|
Span<ushort> span5 = CollectionsMarshal.AsSpan(list5);
|
|
span5[0] = 1748;
|
|
span5[1] = 1874;
|
|
span5[2] = 1909;
|
|
span5[3] = 1910;
|
|
dictionary.Add(401u, list5);
|
|
num = 4;
|
|
List<ushort> list6 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list6, num);
|
|
Span<ushort> span6 = CollectionsMarshal.AsSpan(list6);
|
|
span6[0] = 2639;
|
|
span6[1] = 2661;
|
|
span6[2] = 2816;
|
|
span6[3] = 2821;
|
|
dictionary.Add(612u, list6);
|
|
num = 4;
|
|
List<ushort> list7 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list7, num);
|
|
Span<ushort> span7 = CollectionsMarshal.AsSpan(list7);
|
|
span7[0] = 2632;
|
|
span7[1] = 2673;
|
|
span7[2] = 2687;
|
|
span7[3] = 2693;
|
|
dictionary.Add(613u, list7);
|
|
num = 4;
|
|
List<ushort> list8 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list8, num);
|
|
Span<ushort> span8 = CollectionsMarshal.AsSpan(list8);
|
|
span8[0] = 2724;
|
|
span8[1] = 2728;
|
|
span8[2] = 2730;
|
|
span8[3] = 2733;
|
|
dictionary.Add(614u, list8);
|
|
num = 4;
|
|
List<ushort> list9 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list9, num);
|
|
Span<ushort> span9 = CollectionsMarshal.AsSpan(list9);
|
|
span9[0] = 2655;
|
|
span9[1] = 2842;
|
|
span9[2] = 2851;
|
|
span9[3] = 2860;
|
|
dictionary.Add(620u, list9);
|
|
num = 4;
|
|
List<ushort> list10 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list10, num);
|
|
Span<ushort> span10 = CollectionsMarshal.AsSpan(list10);
|
|
span10[0] = 2877;
|
|
span10[1] = 2880;
|
|
span10[2] = 2881;
|
|
span10[3] = 2883;
|
|
dictionary.Add(621u, list10);
|
|
num = 4;
|
|
List<ushort> list11 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list11, num);
|
|
Span<ushort> span11 = CollectionsMarshal.AsSpan(list11);
|
|
span11[0] = 2760;
|
|
span11[1] = 2771;
|
|
span11[2] = 2782;
|
|
span11[3] = 2791;
|
|
dictionary.Add(622u, list11);
|
|
num = 4;
|
|
List<ushort> list12 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list12, num);
|
|
Span<ushort> span12 = CollectionsMarshal.AsSpan(list12);
|
|
span12[0] = 3380;
|
|
span12[1] = 3384;
|
|
span12[2] = 3385;
|
|
span12[3] = 3386;
|
|
dictionary.Add(813u, list12);
|
|
num = 4;
|
|
List<ushort> list13 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list13, num);
|
|
Span<ushort> span13 = CollectionsMarshal.AsSpan(list13);
|
|
span13[0] = 3360;
|
|
span13[1] = 3371;
|
|
span13[2] = 3537;
|
|
span13[3] = 3556;
|
|
dictionary.Add(814u, list13);
|
|
num = 4;
|
|
List<ushort> list14 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list14, num);
|
|
Span<ushort> span14 = CollectionsMarshal.AsSpan(list14);
|
|
span14[0] = 3375;
|
|
span14[1] = 3503;
|
|
span14[2] = 3511;
|
|
span14[3] = 3525;
|
|
dictionary.Add(815u, list14);
|
|
num = 4;
|
|
List<ushort> list15 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list15, num);
|
|
Span<ushort> span15 = CollectionsMarshal.AsSpan(list15);
|
|
span15[0] = 3395;
|
|
span15[1] = 3398;
|
|
span15[2] = 3404;
|
|
span15[3] = 3427;
|
|
dictionary.Add(816u, list15);
|
|
num = 4;
|
|
List<ushort> list16 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list16, num);
|
|
Span<ushort> span16 = CollectionsMarshal.AsSpan(list16);
|
|
span16[0] = 3444;
|
|
span16[1] = 3467;
|
|
span16[2] = 3478;
|
|
span16[3] = 3656;
|
|
dictionary.Add(817u, list16);
|
|
num = 4;
|
|
List<ushort> list17 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list17, num);
|
|
Span<ushort> span17 = CollectionsMarshal.AsSpan(list17);
|
|
span17[0] = 3588;
|
|
span17[1] = 3592;
|
|
span17[2] = 3593;
|
|
span17[3] = 3594;
|
|
dictionary.Add(818u, list17);
|
|
num = 4;
|
|
List<ushort> list18 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list18, num);
|
|
Span<ushort> span18 = CollectionsMarshal.AsSpan(list18);
|
|
span18[0] = 4320;
|
|
span18[1] = 4329;
|
|
span18[2] = 4480;
|
|
span18[3] = 4484;
|
|
dictionary.Add(956u, list18);
|
|
num = 4;
|
|
List<ushort> list19 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list19, num);
|
|
Span<ushort> span19 = CollectionsMarshal.AsSpan(list19);
|
|
span19[0] = 4203;
|
|
span19[1] = 4257;
|
|
span19[2] = 4259;
|
|
span19[3] = 4489;
|
|
dictionary.Add(957u, list19);
|
|
num = 4;
|
|
List<ushort> list20 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list20, num);
|
|
Span<ushort> span20 = CollectionsMarshal.AsSpan(list20);
|
|
span20[0] = 4216;
|
|
span20[1] = 4232;
|
|
span20[2] = 4498;
|
|
span20[3] = 4502;
|
|
dictionary.Add(958u, list20);
|
|
num = 4;
|
|
List<ushort> list21 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list21, num);
|
|
Span<ushort> span21 = CollectionsMarshal.AsSpan(list21);
|
|
span21[0] = 4240;
|
|
span21[1] = 4241;
|
|
span21[2] = 4253;
|
|
span21[3] = 4516;
|
|
dictionary.Add(959u, list21);
|
|
num = 4;
|
|
List<ushort> list22 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list22, num);
|
|
Span<ushort> span22 = CollectionsMarshal.AsSpan(list22);
|
|
span22[0] = 4342;
|
|
span22[1] = 4346;
|
|
span22[2] = 4354;
|
|
span22[3] = 4355;
|
|
dictionary.Add(960u, list22);
|
|
num = 4;
|
|
List<ushort> list23 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list23, num);
|
|
Span<ushort> span23 = CollectionsMarshal.AsSpan(list23);
|
|
span23[0] = 4288;
|
|
span23[1] = 4313;
|
|
span23[2] = 4507;
|
|
span23[3] = 4511;
|
|
dictionary.Add(961u, list23);
|
|
num = 4;
|
|
List<ushort> list24 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list24, num);
|
|
Span<ushort> span24 = CollectionsMarshal.AsSpan(list24);
|
|
span24[0] = 5039;
|
|
span24[1] = 5047;
|
|
span24[2] = 5051;
|
|
span24[3] = 5055;
|
|
dictionary.Add(1187u, list24);
|
|
num = 4;
|
|
List<ushort> list25 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list25, num);
|
|
Span<ushort> span25 = CollectionsMarshal.AsSpan(list25);
|
|
span25[0] = 5064;
|
|
span25[1] = 5074;
|
|
span25[2] = 5081;
|
|
span25[3] = 5085;
|
|
dictionary.Add(1188u, list25);
|
|
num = 4;
|
|
List<ushort> list26 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list26, num);
|
|
Span<ushort> span26 = CollectionsMarshal.AsSpan(list26);
|
|
span26[0] = 5094;
|
|
span26[1] = 5103;
|
|
span26[2] = 5110;
|
|
span26[3] = 5114;
|
|
dictionary.Add(1189u, list26);
|
|
num = 4;
|
|
List<ushort> list27 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list27, num);
|
|
Span<ushort> span27 = CollectionsMarshal.AsSpan(list27);
|
|
span27[0] = 5130;
|
|
span27[1] = 5138;
|
|
span27[2] = 5140;
|
|
span27[3] = 5144;
|
|
dictionary.Add(1190u, list27);
|
|
num = 4;
|
|
List<ushort> list28 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list28, num);
|
|
Span<ushort> span28 = CollectionsMarshal.AsSpan(list28);
|
|
span28[0] = 5153;
|
|
span28[1] = 5156;
|
|
span28[2] = 5159;
|
|
span28[3] = 5160;
|
|
dictionary.Add(1191u, list28);
|
|
num = 4;
|
|
List<ushort> list29 = new List<ushort>(num);
|
|
CollectionsMarshal.SetCount(list29, num);
|
|
Span<ushort> span29 = CollectionsMarshal.AsSpan(list29);
|
|
span29[0] = 5174;
|
|
span29[1] = 5176;
|
|
span29[2] = 5178;
|
|
span29[3] = 5179;
|
|
dictionary.Add(1192u, list29);
|
|
AetherCurrentQuestsByTerritory = dictionary.ToImmutableDictionary((KeyValuePair<uint, List<ushort>> x) => x.Key, (KeyValuePair<uint, List<ushort>> x) => x.Value.Select((ushort y) => _003C_003Ec._202E_202A_202C_200E_200C_200E_202C_206E_206A_200B_202D_200D_206A_202D_202E_202B_206F_200F_206A_202A_206C_206F_206C_202D_200D_202B_206A_200C_206D_202B_200E_200C_200E_202E_202D_202A_202A_206F_202E_200F_202E(y)).ToImmutableList());
|
|
AetherCurrentQuests = AetherCurrentQuestsByTerritory.Values.SelectMany((ImmutableList<QuestId> x) => x).ToImmutableHashSet();
|
|
uint[] array = new uint[3];
|
|
_202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
|
|
TankRoleQuestChapters = new global::_003C_003Ez__ReadOnlyArray<uint>(array);
|
|
uint[] array2 = new uint[3];
|
|
_202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
|
|
HealerRoleQuestChapters = new global::_003C_003Ez__ReadOnlyArray<uint>(array2);
|
|
uint[] array3 = new uint[3];
|
|
_202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E((Array)array3, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
|
|
MeleeRoleQuestChapters = new global::_003C_003Ez__ReadOnlyArray<uint>(array3);
|
|
uint[] array4 = new uint[3];
|
|
_202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E((Array)array4, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
|
|
PhysicalRangedRoleQuestChapters = new global::_003C_003Ez__ReadOnlyArray<uint>(array4);
|
|
uint[] array5 = new uint[3];
|
|
_202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E((Array)array5, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
|
|
CasterRoleQuestChapters = new global::_003C_003Ez__ReadOnlyArray<uint>(array5);
|
|
AllRoleQuestChapters = new global::_003C_003Ez__ReadOnlyArray<IReadOnlyList<uint>>(new IReadOnlyList<uint>[5] { TankRoleQuestChapters, HealerRoleQuestChapters, MeleeRoleQuestChapters, PhysicalRangedRoleQuestChapters, CasterRoleQuestChapters });
|
|
FinalShadowbringersRoleQuests = new global::_003C_003Ez__ReadOnlyArray<QuestId>(new QuestId[4]
|
|
{
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)3248),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)3272),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)3278),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)3628)
|
|
});
|
|
TankData = new RoleQuestData(TankRoleQuestChapters, new global::_003C_003Ez__ReadOnlyArray<QuestId>(new QuestId[3]
|
|
{
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)3248),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4107),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4823)
|
|
}), (EClassJob j) => _003C_003Ec._206F_206E_206F_206F_200F_200B_202C_202C_206B_202E_206F_202A_206E_206B_202D_206D_206A_200F_200C_206A_206B_200B_202A_202D_202E_202D_200E_202A_200F_200C_202D_200D_200F_200D_200E_200E_200F_200E_206D_206A_202E(j));
|
|
HealerData = new RoleQuestData(HealerRoleQuestChapters, new global::_003C_003Ez__ReadOnlyArray<QuestId>(new QuestId[3]
|
|
{
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)3272),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4113),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4829)
|
|
}), (EClassJob j) => _003C_003Ec._200E_202D_202A_200E_202E_206C_202D_200B_200B_206E_202E_206A_206C_200B_200D_200F_200B_200C_202D_206A_200C_206A_200F_200D_202B_206F_206F_200C_200B_202D_206E_206E_200E_202A_202E_206C_200E_206C_202B_206D_202E(j));
|
|
MeleeData = new RoleQuestData(MeleeRoleQuestChapters, new global::_003C_003Ez__ReadOnlyArray<QuestId>(new QuestId[3]
|
|
{
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)3278),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4119),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4835)
|
|
}), delegate(EClassJob j)
|
|
{
|
|
int num2 = ((!_003C_003Ec._202A_200F_202A_206C_206D_202C_206A_200E_206F_200B_202C_202D_206D_200E_206C_206F_200F_206B_206D_200C_206B_202D_200C_206D_202C_200B_200C_202D_206B_200B_206F_206F_206B_200D_202E_206B_200C_202A_202E_202C_202E(j)) ? 218387131 : 218387128);
|
|
while (true)
|
|
{
|
|
int num3 = num2;
|
|
int num4 = 218387129;
|
|
int num5 = num3;
|
|
int num6 = num5 + num4;
|
|
int num7 = num5 & num4;
|
|
switch (num6 - (num7 + num7))
|
|
{
|
|
case 0:
|
|
goto IL_0048;
|
|
case 1:
|
|
return j != EClassJob.Beastmaster;
|
|
case 2:
|
|
return false;
|
|
}
|
|
continue;
|
|
IL_0048:
|
|
num2 = 218387128;
|
|
}
|
|
});
|
|
PhysicalRangedData = new RoleQuestData(PhysicalRangedRoleQuestChapters, new global::_003C_003Ez__ReadOnlyArray<QuestId>(new QuestId[3]
|
|
{
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)3278),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4125),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4841)
|
|
}), (EClassJob j) => _003C_003Ec._200B_206B_202A_206E_200D_206B_200F_202A_206D_200E_200E_202E_200B_206A_206F_202A_206F_200E_202D_200C_206F_202A_202D_202C_202B_206A_202D_206B_200D_202D_202E_206D_200F_206C_200C_200E_200D_202C_206E_200D_202E(j));
|
|
CasterData = new RoleQuestData(CasterRoleQuestChapters, new global::_003C_003Ez__ReadOnlyArray<QuestId>(new QuestId[3]
|
|
{
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)3628),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4131),
|
|
_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4847)
|
|
}), delegate(EClassJob j)
|
|
{
|
|
int num2 = ((!_003C_003Ec._200F_202B_206C_200B_202A_206D_200D_202E_200C_206C_206F_206D_200B_202D_200F_206E_202E_200B_206C_206C_202A_206D_202B_206B_200B_206B_200F_202D_200F_202A_206B_202A_200D_200F_206D_202D_206A_202C_202D_202D_202E(j)) ? (-542512) : (-542509));
|
|
while (true)
|
|
{
|
|
int num3 = num2;
|
|
int num4 = -542511;
|
|
int num5 = num3;
|
|
switch ((num5 | num4) - (num5 & num4))
|
|
{
|
|
case 0:
|
|
goto IL_0046;
|
|
case 1:
|
|
return false;
|
|
case 2:
|
|
return j != EClassJob.BlueMage;
|
|
}
|
|
continue;
|
|
IL_0046:
|
|
num2 = -542509;
|
|
}
|
|
});
|
|
RoleDataByPreference = new Dictionary<ERoleQuestPreference, RoleQuestData>
|
|
{
|
|
[ERoleQuestPreference.Tank] = TankData,
|
|
[ERoleQuestPreference.Healer] = HealerData,
|
|
[ERoleQuestPreference.Melee] = MeleeData,
|
|
[ERoleQuestPreference.PhysicalRanged] = PhysicalRangedData,
|
|
[ERoleQuestPreference.Caster] = CasterData
|
|
};
|
|
AllRoleData = new global::_003C_003Ez__ReadOnlyArray<RoleQuestData>(new RoleQuestData[5] { TankData, HealerData, MeleeData, PhysicalRangedData, CasterData });
|
|
_cachedLockedClassQuests = new List<QuestId>();
|
|
}
|
|
|
|
static ushort _206D_202C_206E_206A_206E_202C_206E_200E_202D_202E_202A_202A_206C_200E_200E_206C_202D_206E_206B_206F_200E_200D_200E_202D_200F_202A_200D_200C_202E_200D_206E_206C_206D_206F_202E_200E_206F_202D_200F_206D_202E(ElementId P_0)
|
|
{
|
|
return P_0.Value;
|
|
}
|
|
|
|
static ArgumentNullException _202E_206B_200E_206E_206A_206D_206A_206B_206C_202D_202E_202E_200B_200E_206E_206E_202E_200F_202E_206C_206C_206F_202D_200B_206A_206A_200C_202B_206B_206A_206A_202D_202B_202B_200E_200B_206F_200E_202C_202E_202E(string P_0)
|
|
{
|
|
return new ArgumentNullException(P_0);
|
|
}
|
|
|
|
static bool _202D_200C_206B_200B_206A_202D_200C_200C_206B_206D_206C_200D_202C_202A_200E_200E_206F_202D_206A_200B_202C_200E_206D_202B_200D_206A_202C_200E_206F_200D_206A_202D_202C_202C_202E_206B_200D_202E_206D_202E(IEnumerator P_0)
|
|
{
|
|
return P_0.MoveNext();
|
|
}
|
|
|
|
static void _200E_202B_206F_202C_206E_200C_206B_206B_206A_206A_202D_202E_202B_202E_200F_200C_200E_206F_200F_202C_202E_206D_206B_202E_206D_200B_200F_206D_206C_206B_200B_202A_206F_206A_202C_202B_202A_202E_200E_200C_202E(IDisposable P_0)
|
|
{
|
|
P_0.Dispose();
|
|
}
|
|
|
|
static void _200B_200E_202C_206C_200F_206A_206B_202E_206C_206C_206A_202C_202C_200B_200B_206D_206A_206C_202E_206A_206A_206C_206D_202B_202A_200D_200E_206F_206F_202C_206D_202C_206E_206C_200F_206B_202E_200E_202B_200F_202E(ILogger P_0, string P_1, object[] P_2)
|
|
{
|
|
P_0.LogDebug(P_1, P_2);
|
|
}
|
|
|
|
static void _202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E(Array P_0, RuntimeFieldHandle P_1)
|
|
{
|
|
RuntimeHelpers.InitializeArray(P_0, P_1);
|
|
}
|
|
|
|
static QuestId _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E(ushort P_0)
|
|
{
|
|
return new QuestId(P_0);
|
|
}
|
|
|
|
static void _206A_200D_202A_202D_200D_202E_200E_206E_200C_206A_202C_206D_200C_202C_206D_200F_206C_200C_206B_202D_200C_200B_202B_206E_200E_202D_206E_202D_206A_202E_200B_206A_200E_202E_202E_202E_206F_202C_200B_206A_202E(ILogger P_0, string P_1, object[] P_2)
|
|
{
|
|
P_0.LogWarning(P_1, P_2);
|
|
}
|
|
|
|
static ArgumentOutOfRangeException _202D_200B_200E_202B_200D_200F_206E_206D_202B_202A_200C_202A_202C_206F_206F_206F_200D_200B_200C_200F_202A_200C_200F_206F_200F_206F_202D_200F_202D_206E_202E_202A_202A_202B_200F_202B_200B_200F_202B_206F_202E(string P_0)
|
|
{
|
|
return new ArgumentOutOfRangeException(P_0);
|
|
}
|
|
|
|
static byte _202A_202D_200C_202C_202D_206D_202C_200D_202C_200F_202E_202C_202B_206E_200F_202B_206A_200B_206D_202B_206C_206A_200C_200F_202D_200C_206B_206E_206F_206D_200D_202C_206F_206E_200D_206C_200B_202C_206D_202C_202E()
|
|
{
|
|
return PlayerStateHelper.GetFirstClass();
|
|
}
|
|
|
|
static Type _206A_206E_206F_202B_200E_200C_206B_206B_200B_200F_206A_200E_200E_202A_202D_206A_206E_202B_206C_202C_202C_202E_200B_200E_200F_206E_202C_202A_202D_200F_206E_206B_200E_200C_200E_206B_200E_202A_200B_206D_202E(object P_0)
|
|
{
|
|
return P_0.GetType();
|
|
}
|
|
|
|
static string _206B_202D_206F_202B_206D_202D_200E_202E_206B_202D_200C_206A_202A_200B_202A_206C_202B_202A_202C_202E_202D_202A_202A_206B_200D_200E_206F_200F_202E_202C_206F_200E_202D_200E_206D_202C_200E_202B_206A_202E(MemberInfo P_0)
|
|
{
|
|
return P_0.Name;
|
|
}
|
|
|
|
static void _200D_206A_200E_202A_206F_202B_202E_202D_200F_202A_202A_202E_206A_206E_200F_202C_202D_202D_200E_206A_202C_200D_202A_202B_206A_206E_206E_206C_202C_200F_206A_200F_200F_206E_206C_206F_202B_202C_206C_206A_202E(object P_0, string P_1)
|
|
{
|
|
ArgumentNullException.ThrowIfNull(P_0, P_1);
|
|
}
|
|
}
|