using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Application.Network.WorkDefinitions; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.UI.Misc; using LLib.GameData; using Lumina.Excel.Sheets; using Questionable.Model.Questing; namespace Questionable.Data; internal sealed class ClassJobUtils { [Serializable] [CompilerGenerated] private sealed class _003C_003Ec { public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); public static Func _003C_003E9__2_0; public static Func _003C_003E9__2_1; public static Func _003C_003E9__2_2; public static Func _003C_003E9__2_3; public static Func<(EClassJob ClassJob, byte Priority), byte> _003C_003E9__2_4; public static Func<(EClassJob ClassJob, byte Priority), (EClassJob ClassJob, int)> _003C_003E9__2_5; public static Func _003C_003E9__4_0; public static Func _003C_003E9__4_1; public static Func _003C_003E9__4_2; public static Func _003C_003E9__4_3; public static Func<(EClassJob ClassJob, short Level, short ItemLevel), EClassJob> _003C_003E9__5_0; public static Func<(EClassJob ClassJob, short Level, short ItemLevel), short> _003C_003E9__5_1; public static Func<(EClassJob ClassJob, short Level, short ItemLevel), short> _003C_003E9__5_2; public static Func<(EClassJob ClassJob, short Level, short ItemLevel), int> _003C_003E9__5_3; public static Func<(EClassJob ClassJob, short Level, short ItemLevel), EClassJob> _003C_003E9__5_4; internal bool _003C_002Ector_003Eb__2_0(ClassJob x) { int num = ((x.RowId == 0) ? 1290142375 : 1290142372); while (true) { int num2 = num; int num3 = 1290142374; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_0048; case 2: return x.ExpArrayIndex >= 0; case 1: return false; } continue; IL_0048: num = 1290142372; } } internal EClassJob _003C_002Ector_003Eb__2_1(ClassJob x) { return (EClassJob)x.RowId; } internal sbyte _003C_002Ector_003Eb__2_2(ClassJob x) { return x.ExpArrayIndex; } internal (EClassJob ClassJob, byte Priority) _003C_002Ector_003Eb__2_3(ClassJob x) { return (ClassJob: (EClassJob)x.RowId, Priority: x.UIPriority); } internal byte _003C_002Ector_003Eb__2_4((EClassJob ClassJob, byte Priority) x) { return x.Priority; } internal (EClassJob ClassJob, int) _003C_002Ector_003Eb__2_5((EClassJob ClassJob, byte Priority) x) { return (ClassJob: x.ClassJob, x.Priority / 10); } internal bool _003CAsIndividualJobs_003Eb__4_0(EClassJob x) { return _206E_200D_206C_202B_202D_206E_202B_206C_200C_206A_206C_202E_206F_206E_206D_202B_206F_200F_200E_202C_206E_202B_200E_202A_200C_206A_200F_200F_200D_206D_202C_200C_202A_206B_202D_202D_202A_202E_202D_200C_202E(x); } internal bool _003CAsIndividualJobs_003Eb__4_1(EClassJob x) { return _200B_200E_200F_202B_206B_206C_200B_206D_200F_200C_206D_202D_200E_200C_200E_200B_200C_202E_202D_206B_206A_200E_200F_206C_202B_206A_206C_206E_200D_202E_200E_206B_200D_200D_200E_206E_206E_200C_206A_202E_202E(x); } internal bool _003CAsIndividualJobs_003Eb__4_2(EClassJob x) { return _202D_200D_200E_200B_200C_206D_206D_200C_202A_202D_200C_206B_206B_206D_206A_202E_200B_200D_206C_200E_200F_202D_200E_200F_200C_202B_206C_202E_202E_206D_200B_206A_202E_200B_200D_200D_206C_206D_200D_202D_202E(x); } internal bool _003CAsIndividualJobs_003Eb__4_3(EClassJob x) { return _200C_200E_206F_206F_202C_200B_206D_202E_206C_206A_206F_200B_206E_202E_200D_206D_202E_202D_206B_206E_202E_206A_202B_206A_206A_202C_206B_202E_202C_202C_206E_202D_206D_206B_206D_202B_206D_202E_202D_202B_202E(x); } internal EClassJob _003CLookupConfiguredCombatJob_003Eb__5_0((EClassJob ClassJob, short Level, short ItemLevel) x) { return x.ClassJob; } internal short _003CLookupConfiguredCombatJob_003Eb__5_1((EClassJob ClassJob, short Level, short ItemLevel) x) { return x.Level; } internal short _003CLookupConfiguredCombatJob_003Eb__5_2((EClassJob ClassJob, short Level, short ItemLevel) x) { return x.ItemLevel; } internal int _003CLookupConfiguredCombatJob_003Eb__5_3((EClassJob ClassJob, short Level, short ItemLevel) x) { int num = ((!_202C_206E_206A_200E_202D_200D_206E_202E_206F_200E_206E_206C_206C_202B_200D_202D_206F_206C_206F_202C_200F_200F_202D_202B_206C_206C_202D_200E_206D_202D_206E_202D_206E_206D_206A_200D_202C_202E_202D_202B_202E(x.ClassJob)) ? (-716677051) : (-716677046)); int result = default(int); while (true) { int num2 = num; int num3 = -716677043; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 4: result = 20; num = -716677048; break; case 1: result = 0; num = -716677048; break; case 9: result = 10; num = -716677048; break; case 3: num = -716677046; break; case 8: num = ((!_202E_206C_200D_202E_206C_206C_202B_206A_200D_200C_206F_202A_206E_200B_206A_206E_200D_202C_202C_200E_206B_202C_202B_200C_206C_202B_202D_206F_200F_200D_202E_202E_206A_206A_200E_200F_206F_202C_202E_200C_202E(x.ClassJob)) ? (-716677045) : (-716677050)); break; case 7: result = 50; num = -716677048; break; case 6: num = ((!_200F_200D_206D_206D_200B_202D_202B_202A_200C_202E_206E_200C_206B_200E_206B_202E_206F_200D_206A_202C_200B_206E_202C_200E_202A_202A_202E_200E_200F_200B_202B_200B_202C_206E_202A_200E_200E_200F_206F_206C_202E(x.ClassJob)) ? (-716677049) : (-716677041)); break; case 5: return result; case 11: result = 40; num = -716677048; break; case 10: num = ((!_200D_206D_206D_200B_200B_202D_200E_202B_206E_202D_206C_200D_206C_202E_200E_202E_202E_202C_206C_206F_200D_200B_202B_200C_206D_200D_206C_202D_200D_206C_202B_202D_200D_206F_202D_200E_202C_200C_202B_206C_202E(x.ClassJob)) ? (-716677043) : (-716677047)); break; case 2: result = 30; num = -716677048; break; case 0: num = ((!_206A_200B_200E_206A_206C_206F_202B_202A_200E_202C_206D_206F_206C_200B_206A_200C_206F_206E_202E_202D_206F_206E_206A_200C_200C_206C_206D_202E_200C_202B_202A_206B_202A_200C_202A_200E_206E_200D_202A_202E_202E(x.ClassJob)) ? (-716677044) : (-716677052)); break; } } } internal EClassJob _003CLookupConfiguredCombatJob_003Eb__5_4((EClassJob ClassJob, short Level, short ItemLevel) x) { return x.ClassJob; } static bool _206E_200D_206C_202B_202D_206E_202B_206C_200C_206A_206C_202E_206F_206E_206D_202B_206F_200F_200E_202C_206E_202B_200E_202A_200C_206A_200F_200F_200D_206D_202C_200C_202A_206B_202D_202D_202A_202E_202D_200C_202E(EClassJob P_0) { return P_0.DealsPhysicalDamage(); } static bool _200B_200E_200F_202B_206B_206C_200B_206D_200F_200C_206D_202D_200E_200C_200E_200B_200C_202E_202D_206B_206A_200E_200F_206C_202B_206A_206C_206E_200D_202E_200E_206B_200D_200D_200E_206E_206E_200C_206A_202E_202E(EClassJob P_0) { return P_0.DealsMagicDamage(); } static bool _202D_200D_200E_200B_200C_206D_206D_200C_202A_202D_200C_206B_206B_206D_206A_202E_200B_200D_206C_200E_200F_202D_200E_200F_200C_202B_206C_202E_202E_206D_200B_206A_202E_200B_200D_200D_206C_206D_200D_202D_202E(EClassJob P_0) { return P_0.IsCrafter(); } static bool _200C_200E_206F_206F_202C_200B_206D_202E_206C_206A_206F_200B_206E_202E_200D_206D_202E_202D_206B_206E_202E_206A_202B_206A_206A_202C_206B_202E_202C_202C_206E_202D_206D_206B_206D_202B_206D_202E_202D_202B_202E(EClassJob P_0) { return P_0.IsGatherer(); } static bool _202C_206E_206A_200E_202D_200D_206E_202E_206F_200E_206E_206C_206C_202B_200D_202D_206F_206C_206F_202C_200F_200F_202D_202B_206C_206C_202D_200E_206D_202D_206E_202D_206E_206D_206A_200D_202C_202E_202D_202B_202E(EClassJob P_0) { return P_0.IsCaster(); } static bool _202E_206C_200D_202E_206C_206C_202B_206A_200D_200C_206F_202A_206E_200B_206A_206E_200D_202C_202C_200E_206B_202C_202B_200C_206C_202B_202D_206F_200F_200D_202E_202E_206A_206A_200E_200F_206F_202C_202E_200C_202E(EClassJob P_0) { return P_0.IsPhysicalRanged(); } static bool _200F_200D_206D_206D_200B_202D_202B_202A_200C_202E_206E_200C_206B_200E_206B_202E_206F_200D_206A_202C_200B_206E_202C_200E_202A_202A_202E_200E_200F_200B_202B_200B_202C_206E_202A_200E_200E_200F_206F_206C_202E(EClassJob P_0) { return P_0.IsMelee(); } static bool _200D_206D_206D_200B_200B_202D_200E_202B_206E_202D_206C_200D_206C_202E_200E_202E_202E_202C_206C_206F_200D_200B_202B_200C_206D_200D_206C_202D_200D_206C_202B_202D_200D_206F_202D_200E_202C_200C_202B_206C_202E(EClassJob P_0) { return P_0.IsTank(); } static bool _206A_200B_200E_206A_206C_206F_202B_202A_200E_202C_206D_206F_206C_200B_206A_200C_206F_206E_202E_202D_206F_206E_206A_200C_200C_206C_206D_202E_200C_202B_202A_206B_202A_200C_202A_200E_206E_200D_202A_202E_202E(EClassJob P_0) { return P_0.IsHealer(); } } [CompilerGenerated] private sealed class _003C_003Ec__DisplayClass5_0 { public EClassJob configuredJob; internal bool _003CLookupConfiguredCombatJob_003Eb__5(EClassJob x) { int num = ((!_202E_200B_200E_202C_206B_200B_200E_206C_200E_200D_206D_206E_200D_202D_206C_202B_206F_200F_200F_206A_200F_206B_206E_206A_202A_200E_200D_206B_206C_206D_200E_200F_206C_202B_202B_206D_202E_200E_202E_202B_202E(x)) ? 92311981 : 92311982); while (true) { int num2 = num; int num3 = 92311980; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_0046; case 2: return _200C_206E_206C_206B_202E_206E_200D_206C_202D_200D_202B_206A_202A_206F_202D_206F_200C_202B_200D_200B_206E_202B_202D_200D_206B_206C_206E_200D_206D_206E_206D_200E_200D_202A_200B_206E_200D_200B_200E_202B_202E(x) == configuredJob; case 1: return false; } continue; IL_0046: num = 92311982; } } static bool _202E_200B_200E_202C_206B_200B_200E_206C_200E_200D_206D_206E_200D_202D_206C_202B_206F_200F_200F_206A_200F_206B_206E_206A_202A_200E_200D_206B_206C_206D_200E_200F_206C_202B_202B_206D_202E_200E_202E_202B_202E(EClassJob P_0) { return P_0.IsClass(); } static EClassJob _200C_206E_206C_206B_202E_206E_200D_206C_202D_200D_202B_206A_202A_206F_202D_206F_200C_202B_200D_200B_206E_202B_202D_200D_206B_206C_206E_200D_206D_206E_206D_200E_200D_202A_200B_206E_200D_200B_200E_202B_202E(EClassJob P_0) { return P_0.AsJob(); } } private readonly Configuration _configuration; private readonly ReadOnlyDictionary _classJobToExpArrayIndex; public readonly ReadOnlyCollection<(EClassJob ClassJob, int Category)> SortedClassJobs; public ClassJobUtils(Configuration configuration, IDataManager dataManager) { _configuration = configuration; _classJobToExpArrayIndex = dataManager.GetExcelSheet().Where(delegate(ClassJob x) { int num = ((x.RowId == 0) ? 1290142375 : 1290142372); while (true) { int num2 = num; int num3 = 1290142374; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_0048; case 2: return x.ExpArrayIndex >= 0; case 1: return false; } continue; IL_0048: num = 1290142372; } }).ToDictionary((ClassJob x) => (EClassJob)x.RowId, (ClassJob x) => x.ExpArrayIndex) .AsReadOnly(); SortedClassJobs = (from x in dataManager.GetExcelSheet() select (ClassJob: (EClassJob)x.RowId, Priority: x.UIPriority) into x orderby x.Priority select (ClassJob: x.ClassJob, x.Priority / 10)).ToList().AsReadOnly(); } [MethodImpl(MethodImplOptions.NoInlining)] public IEnumerable AsIndividualJobs(EExtendedClassJob classJob, ElementId? referenceQuest) { int num; IEnumerable result = default(IEnumerable); EClassJob eClassJob2 = default(EClassJob); EClassJob eClassJob = default(EClassJob); switch (classJob) { default: num = 1554917607; goto IL_00d8; case EExtendedClassJob.Summoner: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Summoner); num = 1554917577; goto IL_00d8; case EExtendedClassJob.DoM: goto IL_0205; case EExtendedClassJob.WhiteMage: goto IL_023e; case EExtendedClassJob.Goldsmith: goto IL_0252; case EExtendedClassJob.Samurai: goto IL_0266; case EExtendedClassJob.QuestStartJob: goto IL_027a; case EExtendedClassJob.Dragoon: goto IL_02a0; case EExtendedClassJob.Rogue: goto IL_02b4; case EExtendedClassJob.Lancer: goto IL_02c8; case EExtendedClassJob.Arcanist: goto IL_02db; case EExtendedClassJob.Bard: goto IL_02ef; case EExtendedClassJob.DoW: goto IL_0303; case EExtendedClassJob.Dancer: goto IL_033c; case EExtendedClassJob.Astrologian: goto IL_0350; case EExtendedClassJob.Paladin: goto IL_0364; case EExtendedClassJob.Reaper: goto IL_0378; case EExtendedClassJob.Miner: goto IL_038c; case EExtendedClassJob.Machinist: goto IL_03a0; case EExtendedClassJob.Pugilist: goto IL_03b4; case EExtendedClassJob.Botanist: goto IL_03df; case EExtendedClassJob.Culinarian: goto IL_03f3; case EExtendedClassJob.Beastmaster: goto IL_0407; case EExtendedClassJob.Warrior: goto IL_041b; case EExtendedClassJob.Marauder: goto IL_042f; case EExtendedClassJob.ConfiguredCombatJob: goto IL_0442; case EExtendedClassJob.Pictomancer: goto IL_0467; case EExtendedClassJob.Fisher: goto IL_047b; case EExtendedClassJob.BlueMage: goto IL_048f; case EExtendedClassJob.Carpenter: goto IL_04c7; case EExtendedClassJob.Archer: goto IL_04da; case EExtendedClassJob.Armorer: goto IL_04ed; case EExtendedClassJob.Alchemist: goto IL_0501; case EExtendedClassJob.Gladiator: goto IL_0515; case EExtendedClassJob.DoL: goto IL_0528; case EExtendedClassJob.Viper: goto IL_0578; case EExtendedClassJob.Blacksmith: goto IL_058c; case EExtendedClassJob.Thaumaturge: goto IL_05a0; case EExtendedClassJob.Monk: goto IL_05b3; case EExtendedClassJob.Scholar: goto IL_05dc; case EExtendedClassJob.Leatherworker: goto IL_05fc; case EExtendedClassJob.BlackMage: goto IL_0610; case EExtendedClassJob.Ninja: goto IL_0624; case EExtendedClassJob.Conjurer: goto IL_0638; case EExtendedClassJob.DoH: goto IL_064b; case EExtendedClassJob.RedMage: goto IL_0684; case EExtendedClassJob.Gunbreaker: goto IL_0698; case EExtendedClassJob.Weaver: goto IL_06ae; case EExtendedClassJob.Sage: goto IL_06c2; case EExtendedClassJob.DarkKnight: goto IL_06d6; IL_00d8: while (true) { int num2 = num; int num3 = 1554917578; int num4 = num2; IEnumerable enumerable3; IEnumerable enumerable2; switch ((num4 | num3) - (num4 & num3)) { case 46: goto end_IL_00d8; case 2: { IEnumerable enumerable = new global::_003C_003Ez__ReadOnlySingleElementList(eClassJob2); enumerable3 = enumerable; goto IL_01f8; } case 56: goto IL_0205; case 20: goto IL_023e; case 8: goto IL_0252; case 30: goto IL_0266; case 51: goto IL_027a; case 22: goto IL_02a0; case 10: goto IL_02b4; case 54: goto IL_02c8; case 39: goto IL_02db; case 37: goto IL_02ef; case 26: goto IL_0303; case 25: goto IL_033c; case 50: goto IL_0350; case 52: goto IL_0364; case 17: goto IL_0378; case 40: goto IL_038c; case 13: goto IL_03a0; case 0: goto IL_03b4; case 16: { IEnumerable enumerable = Array.Empty(); enumerable3 = enumerable; goto IL_01f8; } case 36: goto IL_03df; case 12: goto IL_03f3; case 31: goto IL_0407; case 34: goto IL_041b; case 41: goto IL_042f; case 9: goto IL_0442; case 28: goto IL_0467; case 18: goto IL_047b; case 32: goto IL_048f; case 45: num = 1554917606; break; case 48: { IEnumerable enumerable = Array.Empty(); enumerable2 = enumerable; goto IL_05cf; } case 55: goto IL_04c7; case 42: goto IL_04da; case 33: goto IL_04ed; case 47: goto IL_0501; case 53: goto IL_0515; case 24: goto IL_0528; case 44: throw _202D_200D_202D_200E_202D_206C_206A_206F_202C_206F_200C_202C_200B_202B_206C_200E_200B_206A_202B_200E_206F_206B_206A_202D_200D_206E_206B_200D_202A_202E_202E_202E_206B_206E_206D_206E_200B_206F_202D_206E_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(688705615), (object)classJob, (string)null); case 35: goto IL_0578; case 38: goto IL_058c; case 6: goto IL_05a0; case 5: goto IL_05b3; case 19: { IEnumerable enumerable = new global::_003C_003Ez__ReadOnlySingleElementList(eClassJob); enumerable2 = enumerable; goto IL_05cf; } case 29: goto IL_05dc; case 23: num = 1554917607; break; case 27: goto IL_05fc; case 21: goto IL_0610; case 1: goto IL_0624; case 11: goto IL_0638; case 4: goto IL_064b; case 43: goto IL_0684; case 49: goto IL_0698; case 3: return result; case 7: goto IL_06ae; case 15: goto IL_06c2; case 14: goto IL_06d6; IL_05cf: result = enumerable2; num = 1554917577; break; IL_01f8: result = enumerable3; num = 1554917577; break; } continue; end_IL_00d8: break; } goto case EExtendedClassJob.Summoner; IL_06d6: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.DarkKnight); num = 1554917577; goto IL_00d8; IL_06c2: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Sage); num = 1554917577; goto IL_00d8; IL_06ae: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Weaver); num = 1554917577; goto IL_00d8; IL_0698: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Gunbreaker); num = 1554917577; goto IL_00d8; IL_0684: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.RedMage); num = 1554917577; goto IL_00d8; IL_064b: result = from x in Enum.GetValues() where _003C_003Ec._202D_200D_200E_200B_200C_206D_206D_200C_202A_202D_200C_206B_206B_206D_206A_202E_200B_200D_206C_200E_200F_202D_200E_200F_200C_202B_206C_202E_202E_206D_200B_206A_202E_200B_200D_200D_206C_206D_200D_202D_202E(x) select x; num = 1554917577; goto IL_00d8; IL_02a0: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Dragoon); num = 1554917577; goto IL_00d8; IL_02b4: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Rogue); num = 1554917577; goto IL_00d8; IL_0638: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Conjurer); num = 1554917577; goto IL_00d8; IL_0624: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Ninja); num = 1554917577; goto IL_00d8; IL_0610: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.BlackMage); num = 1554917577; goto IL_00d8; IL_05fc: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Leatherworker); num = 1554917577; goto IL_00d8; IL_05dc: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Scholar); num = 1554917577; goto IL_00d8; IL_05b3: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Monk); num = 1554917577; goto IL_00d8; IL_05a0: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Thaumaturge); num = 1554917577; goto IL_00d8; IL_058c: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Blacksmith); num = 1554917577; goto IL_00d8; IL_0578: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Viper); num = 1554917577; goto IL_00d8; IL_0528: result = from x in Enum.GetValues() where _003C_003Ec._200C_200E_206F_206F_202C_200B_206D_202E_206C_206A_206F_200B_206E_202E_200D_206D_202E_202D_206B_206E_202E_206A_202B_206A_206A_202C_206B_202E_202C_202C_206E_202D_206D_206B_206D_202B_206D_202E_202D_202B_202E(x) select x; num = 1554917577; goto IL_00d8; IL_0205: result = from x in Enum.GetValues() where _003C_003Ec._200B_200E_200F_202B_206B_206C_200B_206D_200F_200C_206D_202D_200E_200C_200E_200B_200C_202E_202D_206B_206A_200E_200F_206C_202B_206A_206C_206E_200D_202E_200E_206B_200D_200D_200E_206E_206E_200C_206A_202E_202E(x) select x; num = 1554917577; goto IL_00d8; IL_027a: eClassJob2 = LookupQuestStartJob(referenceQuest); num = ((eClassJob2 != EClassJob.Adventurer) ? 1554917576 : 1554917594); goto IL_00d8; IL_0515: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Gladiator); num = 1554917577; goto IL_00d8; IL_0501: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Alchemist); num = 1554917577; goto IL_00d8; IL_04ed: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Armorer); num = 1554917577; goto IL_00d8; IL_04da: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Archer); num = 1554917577; goto IL_00d8; IL_04c7: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Carpenter); num = 1554917577; goto IL_00d8; IL_048f: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.BlueMage); num = 1554917577; goto IL_00d8; IL_047b: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Fisher); num = 1554917577; goto IL_00d8; IL_0467: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Pictomancer); num = 1554917577; goto IL_00d8; IL_0442: eClassJob = LookupConfiguredCombatJob(); num = ((eClassJob != EClassJob.Adventurer) ? 1554917593 : 1554917626); goto IL_00d8; IL_0266: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Samurai); num = 1554917577; goto IL_00d8; IL_042f: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Marauder); num = 1554917577; goto IL_00d8; IL_041b: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Warrior); num = 1554917577; goto IL_00d8; IL_0407: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Beastmaster); num = 1554917577; goto IL_00d8; IL_03f3: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Culinarian); num = 1554917577; goto IL_00d8; IL_03df: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Botanist); num = 1554917577; goto IL_00d8; IL_03b4: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Pugilist); num = 1554917577; goto IL_00d8; IL_03a0: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Machinist); num = 1554917577; goto IL_00d8; IL_038c: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Miner); num = 1554917577; goto IL_00d8; IL_0378: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Reaper); num = 1554917577; goto IL_00d8; IL_0364: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Paladin); num = 1554917577; goto IL_00d8; IL_0350: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Astrologian); num = 1554917577; goto IL_00d8; IL_033c: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Dancer); num = 1554917577; goto IL_00d8; IL_0303: result = from x in Enum.GetValues() where _003C_003Ec._206E_200D_206C_202B_202D_206E_202B_206C_200C_206A_206C_202E_206F_206E_206D_202B_206F_200F_200E_202C_206E_202B_200E_202A_200C_206A_200F_200F_200D_206D_202C_200C_202A_206B_202D_202D_202A_202E_202D_200C_202E(x) select x; num = 1554917577; goto IL_00d8; IL_023e: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.WhiteMage); num = 1554917577; goto IL_00d8; IL_0252: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Goldsmith); num = 1554917577; goto IL_00d8; IL_02ef: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Bard); num = 1554917577; goto IL_00d8; IL_02db: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Arcanist); num = 1554917577; goto IL_00d8; IL_02c8: result = new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Lancer); num = 1554917577; goto IL_00d8; } } private EClassJob LookupConfiguredCombatJob() { EClassJob configuredJob = _configuration.General.CombatJob; ReadOnlyCollection<(EClassJob, short, short)> combatJobGearSets = GetCombatJobGearSets(); HashSet hashSet = combatJobGearSets.Select<(EClassJob, short, short), EClassJob>(((EClassJob ClassJob, short Level, short ItemLevel) x) => x.ClassJob).Distinct().ToHashSet(); int num = ((configuredJob == EClassJob.Adventurer) ? 948516034 : 948516037); EClassJob eClassJob = default(EClassJob); while (true) { int num2 = num; int num3 = 948516032; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 1: num = ((!hashSet.Contains(eClassJob)) ? 948516034 : 948516038); break; case 6: return eClassJob; case 4: eClassJob = Enum.GetValues().SingleOrDefault(delegate(EClassJob x) { int num7 = ((!_003C_003Ec__DisplayClass5_0._202E_200B_200E_202C_206B_200B_200E_206C_200E_200D_206D_206E_200D_202D_206C_202B_206F_200F_200F_206A_200F_206B_206E_206A_202A_200E_200D_206B_206C_206D_200E_200F_206C_202B_202B_206D_202E_200E_202E_202B_202E(x)) ? 92311981 : 92311982); while (true) { int num8 = num7; int num9 = 92311980; int num10 = num8; switch ((num10 | num9) - (num10 & num9)) { case 0: goto IL_0046; case 2: return _003C_003Ec__DisplayClass5_0._200C_206E_206C_206B_202E_206E_200D_206C_202D_200D_202B_206A_202A_206F_202D_206F_200C_202B_200D_200B_206E_202B_202D_200D_206B_206C_206E_200D_206D_206E_206D_200E_200D_202A_200B_206E_200D_200B_200E_202B_202E(x) == configuredJob; case 1: return false; } continue; IL_0046: num7 = 92311982; } }); num = ((eClassJob == EClassJob.Adventurer) ? 948516034 : 948516033); break; case 3: return configuredJob; case 0: num = 948516037; break; case 2: return (from x in (from x in combatJobGearSets orderby x.Level descending, x.ItemLevel descending select x).ThenByDescending<(EClassJob, short, short), int>(delegate((EClassJob ClassJob, short Level, short ItemLevel) x) { int num7 = ((!_003C_003Ec._202C_206E_206A_200E_202D_200D_206E_202E_206F_200E_206E_206C_206C_202B_200D_202D_206F_206C_206F_202C_200F_200F_202D_202B_206C_206C_202D_200E_206D_202D_206E_202D_206E_206D_206A_200D_202C_202E_202D_202B_202E(x.ClassJob)) ? (-716677051) : (-716677046)); int result = default(int); while (true) { int num8 = num7; int num9 = -716677043; int num10 = num8; int num11 = num10 + num9; int num12 = num10 & num9; switch (num11 - (num12 + num12)) { case 4: result = 20; num7 = -716677048; break; case 1: result = 0; num7 = -716677048; break; case 9: result = 10; num7 = -716677048; break; case 3: num7 = -716677046; break; case 8: num7 = ((!_003C_003Ec._202E_206C_200D_202E_206C_206C_202B_206A_200D_200C_206F_202A_206E_200B_206A_206E_200D_202C_202C_200E_206B_202C_202B_200C_206C_202B_202D_206F_200F_200D_202E_202E_206A_206A_200E_200F_206F_202C_202E_200C_202E(x.ClassJob)) ? (-716677045) : (-716677050)); break; case 7: result = 50; num7 = -716677048; break; case 6: num7 = ((!_003C_003Ec._200F_200D_206D_206D_200B_202D_202B_202A_200C_202E_206E_200C_206B_200E_206B_202E_206F_200D_206A_202C_200B_206E_202C_200E_202A_202A_202E_200E_200F_200B_202B_200B_202C_206E_202A_200E_200E_200F_206F_206C_202E(x.ClassJob)) ? (-716677049) : (-716677041)); break; case 5: return result; case 11: result = 40; num7 = -716677048; break; case 10: num7 = ((!_003C_003Ec._200D_206D_206D_200B_200B_202D_200E_202B_206E_202D_206C_200D_206C_202E_200E_202E_202E_202C_206C_206F_200D_200B_202B_200C_206D_200D_206C_202D_200D_206C_202B_202D_200D_206F_202D_200E_202C_200C_202B_206C_202E(x.ClassJob)) ? (-716677043) : (-716677047)); break; case 2: result = 30; num7 = -716677048; break; case 0: num7 = ((!_003C_003Ec._206A_200B_200E_206A_206C_206F_202B_202A_200E_202C_206D_206F_206C_200B_206A_200C_206F_206E_202E_202D_206F_206E_206A_200C_200C_206C_206D_202E_200C_202B_202A_206B_202A_200C_202A_200E_206E_200D_202A_202E_202E(x.ClassJob)) ? (-716677044) : (-716677052)); break; } } }) select x.ClassJob).DefaultIfEmpty(EClassJob.Adventurer).FirstOrDefault(); case 5: num = ((!hashSet.Contains(configuredJob)) ? 948516036 : 948516035); break; } } } private unsafe ReadOnlyCollection<(EClassJob ClassJob, short Level, short ItemLevel)> GetCombatJobGearSets() { List<(EClassJob, short, short)> list = new List<(EClassJob, short, short)>(); RaptureGearsetModule* ptr = RaptureGearsetModule.Instance(); int num = ((ptr != null) ? 414086816 : 414086821); EClassJob classJob = default(EClassJob); RaptureGearsetModule.GearsetEntry* gearset = default(RaptureGearsetModule.GearsetEntry*); int num6 = default(int); short num9 = default(short); while (true) { int num2 = num; int num3 = 414086819; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 10: num = 414086821; break; case 8: num = (_202C_206B_200F_200C_200E_200E_206E_202B_200F_202D_202E_206F_200D_202C_206A_206C_200D_200F_200C_206C_206A_202C_202E_200C_206B_200B_200C_200E_200B_202C_206C_202B_202B_200F_206E_202C_200B_202A_206A_202E_202E(classJob) ? 414086817 : 414086823); break; case 7: gearset = ptr->GetGearset(num6); num = ((!_200B_202A_206C_202D_200F_202E_200C_200E_202B_206A_200F_200D_200B_206F_206F_206A_200D_202B_206A_206B_200F_202D_202C_202E_200B_206D_206F_200D_206B_206B_202E_200F_202A_206C_202D_200C_206C_200D_206A_206B_202E((Enum)gearset->Flags, (Enum)RaptureGearsetModule.GearsetFlag.Exists)) ? 414086817 : 414086822); break; case 5: classJob = (EClassJob)gearset->ClassJob; num = (_202D_206B_202D_202B_200E_206A_206B_200F_206F_200E_202E_200F_206B_200B_206C_202A_200F_206F_200F_202B_202E_202C_202E_206D_202E_202C_200F_206A_202D_202A_200F_206E_200F_206A_206B_206A_202B_200B_202A_200C_202E(classJob) ? 414086817 : 414086827); break; case 3: num6 = 0; num = 414086826; break; case 6: return list.AsReadOnly(); case 0: return list.AsReadOnly(); case 1: { short itemLevel = gearset->ItemLevel; list.Add((classJob, num9, itemLevel)); num = 414086817; break; } case 9: num = ((num6 < 100) ? 414086820 : 414086819); break; case 4: num9 = _206E_206A_200E_206F_202C_200B_206B_200C_200C_202A_206D_200C_200F_206F_200E_206C_200F_206F_202E_200B_202D_200D_200C_202E_200E_206E_206C_202A_200D_200C_206D_200D_206C_200F_200D_202E_206A_206C_200E_202E((int)_classJobToExpArrayIndex[classJob]); num = ((num9 == 0) ? 414086817 : 414086818); break; case 2: { int num5 = num6; num3 = 1; num4 = num5; int num7 = num4 ^ num3; int num8 = num4 & num3; num6 = num7 + (num8 + num8); num = 414086826; break; } } } } [MethodImpl(MethodImplOptions.NoInlining)] private unsafe EClassJob LookupQuestStartJob(ElementId? elementId) { _202A_206C_200B_200E_200D_200E_206A_200B_202C_206A_206F_200E_200B_200F_206B_200B_202C_206E_206B_206C_200E_202C_202B_206C_200C_206C_200F_206E_200B_206D_202D_206F_206D_200B_202E_206B_206B_202C_202E_200D_202E((object)elementId, 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(-390564641)); QuestId questId = elementId as QuestId; int num = (((object)questId == null) ? 1903187952 : 1903187954); QuestWork* questById = default(QuestWork*); while (true) { int num2 = num; int num3 = 1903187955; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: num = 1903187954; break; case 3: return EClassJob.Adventurer; case 0: return (EClassJob)questById->AcceptClassJob; case 1: questById = QuestManager.Instance()->GetQuestById(_200E_206D_200B_206A_200F_202D_202C_202E_202A_206F_206E_206B_200D_206A_200F_200E_206E_202B_206B_202C_202E_200B_206D_202E_202A_206B_202E_200B_202E_202C_206E_200C_206E_206A_200D_206E_202E_200F_200D_200D_202E((ElementId)questId)); num = ((questById->AcceptClassJob == 0) ? 1903187952 : 1903187955); break; } } } static ArgumentOutOfRangeException _202D_200D_202D_200E_202D_206C_206A_206F_202C_206F_200C_202C_200B_202B_206C_200E_200B_206A_202B_200E_206F_206B_206A_202D_200D_206E_206B_200D_202A_202E_202E_202E_206B_206E_206D_206E_200B_206F_202D_206E_202E(string P_0, object P_1, string P_2) { return new ArgumentOutOfRangeException(P_0, P_1, P_2); } static bool _200B_202A_206C_202D_200F_202E_200C_200E_202B_206A_200F_200D_200B_206F_206F_206A_200D_202B_206A_206B_200F_202D_202C_202E_200B_206D_206F_200D_206B_206B_202E_200F_202A_206C_202D_200C_206C_200D_206A_206B_202E(Enum P_0, Enum P_1) { return P_0.HasFlag(P_1); } static bool _202D_206B_202D_202B_200E_206A_206B_200F_206F_200E_202E_200F_206B_200B_206C_202A_200F_206F_200F_202B_202E_202C_202E_206D_202E_202C_200F_206A_202D_202A_200F_206E_200F_206A_206B_206A_202B_200B_202A_200C_202E(EClassJob P_0) { return P_0.IsCrafter(); } static bool _202C_206B_200F_200C_200E_200E_206E_202B_200F_202D_202E_206F_200D_202C_206A_206C_200D_200F_200C_206C_206A_202C_202E_200C_206B_200B_200C_200E_200B_202C_206C_202B_202B_200F_206E_202C_200B_202A_206A_202E_202E(EClassJob P_0) { return P_0.IsGatherer(); } static short _206E_206A_200E_206F_202C_200B_206B_200C_200C_202A_206D_200C_200F_206F_200E_206C_200F_206F_202E_200B_202D_200D_200C_202E_200E_206E_206C_202A_200D_200C_206D_200D_206C_200F_200D_202E_206A_206C_200E_202E(int P_0) { return PlayerStateHelper.GetClassJobLevel(P_0); } static void _202A_206C_200B_200E_200D_200E_206A_200B_202C_206A_206F_200E_200B_200F_206B_200B_202C_206E_206B_206C_200E_202C_202B_206C_200C_206C_200F_206E_200B_206D_202D_206F_206D_200B_202E_206B_206B_202C_202E_200D_202E(object P_0, string P_1) { ArgumentNullException.ThrowIfNull(P_0, P_1); } static ushort _200E_206D_200B_206A_200F_202D_202C_202E_202A_206F_206E_206B_200D_206A_200F_200E_206E_202B_206B_202C_202E_200B_206D_202E_202A_206B_202E_200B_202E_202C_206E_200C_206E_206A_200D_206E_202E_200F_200D_200D_202E(ElementId P_0) { return P_0.Value; } }