forked from aly/qstbak
muffin v7.5.6
This commit is contained in:
parent
6266f9e6b7
commit
addf2d530f
619 changed files with 264792 additions and 446022 deletions
244
LLib/LLib.Gear/StatPriority.cs
Normal file
244
LLib/LLib.Gear/StatPriority.cs
Normal file
|
|
@ -0,0 +1,244 @@
|
|||
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<EBaseParam, float> _weights;
|
||||
|
||||
public IReadOnlyDictionary<EBaseParam, float> Weights => _weights;
|
||||
|
||||
public StatPriority(IReadOnlyDictionary<EBaseParam, float> weights)
|
||||
{
|
||||
_weights = weights;
|
||||
}
|
||||
|
||||
public float Score(EquipmentStats stats)
|
||||
{
|
||||
float num = 0f;
|
||||
IEnumerator<KeyValuePair<EBaseParam, float>> 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<EBaseParam, float> dictionary = new Dictionary<EBaseParam, float>(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<EBaseParam>();
|
||||
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);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue