1
0
Fork 0
forked from aly/qstbak
qstbak/Questionable/Questionable.Data/ClassJobUtils.cs
2026-08-17 20:27:25 +10:00

1045 lines
36 KiB
C#

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<ClassJob, bool> _003C_003E9__2_0;
public static Func<ClassJob, EClassJob> _003C_003E9__2_1;
public static Func<ClassJob, sbyte> _003C_003E9__2_2;
public static Func<ClassJob, (EClassJob ClassJob, byte Priority)> _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<EClassJob, bool> _003C_003E9__4_0;
public static Func<EClassJob, bool> _003C_003E9__4_1;
public static Func<EClassJob, bool> _003C_003E9__4_2;
public static Func<EClassJob, bool> _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<EClassJob, sbyte> _classJobToExpArrayIndex;
public readonly ReadOnlyCollection<(EClassJob ClassJob, int Category)> SortedClassJobs;
public ClassJobUtils(Configuration configuration, IDataManager dataManager)
{
_configuration = configuration;
_classJobToExpArrayIndex = dataManager.GetExcelSheet<ClassJob>().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<ClassJob>()
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<EClassJob> AsIndividualJobs(EExtendedClassJob classJob, ElementId? referenceQuest)
{
int num;
IEnumerable<EClassJob> result = default(IEnumerable<EClassJob>);
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>(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<EClassJob> enumerable3;
IEnumerable<EClassJob> enumerable2;
switch ((num4 | num3) - (num4 & num3))
{
case 46:
goto end_IL_00d8;
case 2:
{
IEnumerable<EClassJob> enumerable = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(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<EClassJob> enumerable = Array.Empty<EClassJob>();
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<EClassJob> enumerable = Array.Empty<EClassJob>();
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<string>(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<EClassJob> enumerable = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(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>(EClassJob.DarkKnight);
num = 1554917577;
goto IL_00d8;
IL_06c2:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Sage);
num = 1554917577;
goto IL_00d8;
IL_06ae:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Weaver);
num = 1554917577;
goto IL_00d8;
IL_0698:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Gunbreaker);
num = 1554917577;
goto IL_00d8;
IL_0684:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.RedMage);
num = 1554917577;
goto IL_00d8;
IL_064b:
result = from x in Enum.GetValues<EClassJob>()
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>(EClassJob.Dragoon);
num = 1554917577;
goto IL_00d8;
IL_02b4:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Rogue);
num = 1554917577;
goto IL_00d8;
IL_0638:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Conjurer);
num = 1554917577;
goto IL_00d8;
IL_0624:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Ninja);
num = 1554917577;
goto IL_00d8;
IL_0610:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.BlackMage);
num = 1554917577;
goto IL_00d8;
IL_05fc:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Leatherworker);
num = 1554917577;
goto IL_00d8;
IL_05dc:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Scholar);
num = 1554917577;
goto IL_00d8;
IL_05b3:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Monk);
num = 1554917577;
goto IL_00d8;
IL_05a0:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Thaumaturge);
num = 1554917577;
goto IL_00d8;
IL_058c:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Blacksmith);
num = 1554917577;
goto IL_00d8;
IL_0578:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Viper);
num = 1554917577;
goto IL_00d8;
IL_0528:
result = from x in Enum.GetValues<EClassJob>()
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<EClassJob>()
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>(EClassJob.Gladiator);
num = 1554917577;
goto IL_00d8;
IL_0501:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Alchemist);
num = 1554917577;
goto IL_00d8;
IL_04ed:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Armorer);
num = 1554917577;
goto IL_00d8;
IL_04da:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Archer);
num = 1554917577;
goto IL_00d8;
IL_04c7:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Carpenter);
num = 1554917577;
goto IL_00d8;
IL_048f:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.BlueMage);
num = 1554917577;
goto IL_00d8;
IL_047b:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Fisher);
num = 1554917577;
goto IL_00d8;
IL_0467:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(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>(EClassJob.Samurai);
num = 1554917577;
goto IL_00d8;
IL_042f:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Marauder);
num = 1554917577;
goto IL_00d8;
IL_041b:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Warrior);
num = 1554917577;
goto IL_00d8;
IL_0407:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Beastmaster);
num = 1554917577;
goto IL_00d8;
IL_03f3:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Culinarian);
num = 1554917577;
goto IL_00d8;
IL_03df:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Botanist);
num = 1554917577;
goto IL_00d8;
IL_03b4:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Pugilist);
num = 1554917577;
goto IL_00d8;
IL_03a0:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Machinist);
num = 1554917577;
goto IL_00d8;
IL_038c:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Miner);
num = 1554917577;
goto IL_00d8;
IL_0378:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Reaper);
num = 1554917577;
goto IL_00d8;
IL_0364:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Paladin);
num = 1554917577;
goto IL_00d8;
IL_0350:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Astrologian);
num = 1554917577;
goto IL_00d8;
IL_033c:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Dancer);
num = 1554917577;
goto IL_00d8;
IL_0303:
result = from x in Enum.GetValues<EClassJob>()
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>(EClassJob.WhiteMage);
num = 1554917577;
goto IL_00d8;
IL_0252:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Goldsmith);
num = 1554917577;
goto IL_00d8;
IL_02ef:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Bard);
num = 1554917577;
goto IL_00d8;
IL_02db:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Arcanist);
num = 1554917577;
goto IL_00d8;
IL_02c8:
result = new global::_003C_003Ez__ReadOnlySingleElementList<EClassJob>(EClassJob.Lancer);
num = 1554917577;
goto IL_00d8;
}
}
private EClassJob LookupConfiguredCombatJob()
{
EClassJob configuredJob = _configuration.General.CombatJob;
ReadOnlyCollection<(EClassJob, short, short)> combatJobGearSets = GetCombatJobGearSets();
HashSet<EClassJob> 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<EClassJob>().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<string>(-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;
}
}