using System; using System.Collections; using System.Collections.Generic; using System.Runtime.CompilerServices; using LLib.GameData; namespace LLib.Gear; public sealed class StatPriority { private readonly IReadOnlyDictionary _weights; public IReadOnlyDictionary Weights => _weights; public StatPriority(IReadOnlyDictionary weights) { _weights = weights; } public float Score(EquipmentStats stats) { float num = 0f; IEnumerator> enumerator = _weights.GetEnumerator(); try { int num2 = -280188401; EBaseParam param = default(EBaseParam); float num6 = default(float); while (true) { int num3 = num2; int num4 = -280188405; int num5 = num3; switch ((num5 | num4) - (num5 & num4)) { case 0: num2 = -280188401; break; case 2: { enumerator.Current.Deconstruct(out var key, out var value); param = key; num6 = value; num2 = ((num6 == 0f) ? (-280188401) : (-280188406)); break; } case 1: num += (float)stats.Get(param) * num6; num2 = -280188401; break; case 4: num2 = (_202C_206A_206A_200E_202C_206E_206B_200B_206A_202B_202C_206A_206B_200F_206A_206D_200C_206D_202E_200F_206B_206C_206E_202A_200B_206D_202B_202A_202C_202A_206B_206C_202D_206D_202E_206F_200C_202D_200D_206F_202E((IEnumerator)enumerator) ? (-280188407) : (-280188408)); break; case 3: return num; } } } finally { int num2 = ((enumerator == null) ? (-1972077866) : (-1972077865)); while (true) { int num7 = num2; int num4 = -1972077866; int num5 = num7; int num8 = num5 + num4; int num9 = num5 & num4; switch (num8 - (num9 + num9)) { case 2: num2 = -1972077865; break; case 0: goto end_IL_00f9; case 1: _206B_200F_206A_200C_200F_202A_200C_206A_206F_200D_206A_206C_206A_206C_202C_202C_202A_206E_206B_202D_202E_200F_202D_206D_206E_206D_206B_200F_200D_206B_200D_202B_202A_206F_202D_206D_206C_200B_200F_206C_202E((IDisposable)enumerator); num2 = -1972077866; break; } continue; end_IL_00f9: break; } } } public static StatPriority ForJob(EClassJob job) { EBaseParam[] relevantParams = GetRelevantParams(job); Dictionary dictionary = new Dictionary(relevantParams.Length); EBaseParam[] array = relevantParams; int num = 0; int num2 = 1591763655; while (true) { int num3 = num2; int num4 = 1591763652; int num5 = num3; int num6 = num5 + num4; int num7 = num5 & num4; switch (num6 - (num7 + num7)) { case 0: num2 = 1591763655; break; case 2: { EBaseParam key = array[num]; dictionary[key] = 1f; int num8 = num; num4 = 1; num5 = num8; num = (num5 | num4) + (num5 & num4); num2 = 1591763655; break; } case 1: return new StatPriority(dictionary); case 3: num2 = ((num < array.Length) ? 1591763654 : 1591763653); break; } } } private static EBaseParam[] GetRelevantParams(EClassJob job) { int num = ((!job.IsCrafter()) ? 1757392226 : 1757392244); bool flag = default(bool); bool flag2 = default(bool); while (true) { int num2 = num; int num3 = 1757392228; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: { EBaseParam[] array4 = new EBaseParam[5]; _206A_202D_202E_200E_206C_206D_202E_206E_200B_202A_206C_206E_206E_200F_202C_202B_206C_200F_202C_202C_206E_200B_202A_202C_202C_206C_206F_202E_206B_206D_202D_206D_202D_200E_206C_200C_200E_206C_206B_206A_202E((Array)array4, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); return array4; } case 16: { EBaseParam[] array = new EBaseParam[3]; _206A_202D_202E_200E_206C_206D_202E_206E_200B_202A_206C_206E_206E_200F_202C_202B_206C_200F_202C_202C_206E_200B_202A_202C_202C_206C_206F_202E_206B_206D_202D_206D_202D_200E_206C_200C_200E_206C_206B_206A_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); return array; } case 14: { EBaseParam[] array6 = new EBaseParam[5]; _206A_202D_202E_200E_206C_206D_202E_206E_200B_202A_206C_206E_206E_200F_202C_202B_206C_200F_202C_202C_206E_200B_202A_202C_202C_206C_206F_202E_206B_206D_202D_206D_202D_200E_206C_200C_200E_206C_206B_206A_202E((Array)array6, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); return array6; } case 2: num = ((job - 29 <= EClassJob.Gladiator) ? 1757392232 : 1757392225); break; case 9: { EBaseParam[] array7 = new EBaseParam[5]; _206A_202D_202E_200E_206C_206D_202E_206E_200B_202A_206C_206E_206E_200F_202C_202B_206C_200F_202C_202C_206E_200B_202A_202C_202C_206C_206F_202E_206B_206D_202D_206D_202D_200E_206C_200C_200E_206C_206B_206A_202E((Array)array7, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); return array7; } case 13: num = ((!job.IsTank()) ? 1757392239 : 1757392227); break; case 19: { EBaseParam[] array3 = new EBaseParam[5]; _206A_202D_202E_200E_206C_206D_202E_206E_200B_202A_206C_206E_206E_200F_202C_202B_206C_200F_202C_202C_206E_200B_202A_202C_202C_206C_206F_202E_206B_206D_202D_206D_202D_200E_206C_200C_200E_206C_206B_206A_202E((Array)array3, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); return array3; } case 8: flag = flag2; num = 1757392229; break; case 4: { EBaseParam[] array2 = new EBaseParam[3]; _206A_202D_202E_200E_206C_206D_202E_206E_200B_202A_206C_206E_206E_200F_202C_202B_206C_200F_202C_202C_206E_200B_202A_202C_202C_206C_206F_202E_206B_206D_202D_206D_202D_200E_206C_200C_200E_206C_206B_206A_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); return array2; } case 3: flag2 = false; num = 1757392236; break; case 18: num = 1757392244; break; case 5: num = ((job != EClassJob.Viper) ? 1757392231 : 1757392232); break; case 17: num = ((!job.IsCaster()) ? 1757392235 : 1757392228); break; case 15: return Array.Empty(); case 7: { EBaseParam[] array5 = new EBaseParam[7]; _206A_202D_202E_200E_206C_206D_202E_206E_200B_202A_206C_206E_206E_200F_202C_202B_206C_200F_202C_202C_206E_200B_202A_202C_202C_206C_206F_202E_206B_206D_202D_206D_202D_200E_206C_200C_200E_206C_206B_206A_202E((Array)array5, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); return array5; } case 10: num = ((!job.IsMelee()) ? 1757392245 : 1757392237); break; case 12: flag2 = true; num = 1757392236; break; case 1: num = ((!flag) ? 1757392238 : 1757392247); break; case 11: flag = job.IsPhysicalRanged(); num = (flag ? 1757392229 : 1757392230); break; case 6: num = ((!job.IsGatherer()) ? 1757392240 : 1757392224); break; case 20: num = ((!job.IsHealer()) ? 1757392233 : 1757392234); break; } } } static bool _202C_206A_206A_200E_202C_206E_206B_200B_206A_202B_202C_206A_206B_200F_206A_206D_200C_206D_202E_200F_206B_206C_206E_202A_200B_206D_202B_202A_202C_202A_206B_206C_202D_206D_202E_206F_200C_202D_200D_206F_202E(IEnumerator P_0) { return P_0.MoveNext(); } static void _206B_200F_206A_200C_200F_202A_200C_206A_206F_200D_206A_206C_206A_206C_202C_202C_202A_206E_206B_202D_202E_200F_202D_206D_206E_206D_206B_200F_200D_206B_200D_202B_202A_206F_202D_206D_206C_200B_200F_206C_202E(IDisposable P_0) { P_0.Dispose(); } static void _206A_202D_202E_200E_206C_206D_202E_206E_200B_202A_206C_206E_206E_200F_202C_202B_206C_200F_202C_202C_206E_200B_202A_202C_202C_206C_206F_202E_206B_206D_202D_206D_202D_200E_206C_200C_200E_206C_206B_206A_202E(Array P_0, RuntimeFieldHandle P_1) { RuntimeHelpers.InitializeArray(P_0, P_1); } }