using System; using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; using System.Text; namespace LLib.Gear; public sealed record EquipmentStats(Dictionary Stats, byte MateriaCount) { [CompilerGenerated] private Type EqualityContract { [CompilerGenerated] get { return _206D_200D_202A_206A_206A_206A_200F_202C_202C_202D_206D_206F_206C_200D_200C_206C_202D_202E_202B_206E_202B_202B_202D_206C_200C_200F_202E_206D_200B_202E_200B_206E_202D_202A_200D_200B_200C_206B_200E_200D_202E(typeof(EquipmentStats).TypeHandle); } } public short Get(EBaseParam param) { return (short)(GetEquipment(param) + GetMateria(param)); } public short GetEquipment(EBaseParam param) { Stats.TryGetValue(param, out StatInfo value); int num = (((object)value != null) ? (-1344068202) : (-1344068203)); while (true) { int num2 = num; int num3 = -1344068204; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_0052; case 1: return 0; case 2: return value.EquipmentValue; } continue; IL_0052: num = -1344068203; } } public short GetMateria(EBaseParam param) { Stats.TryGetValue(param, out StatInfo value); int num = (((object)value != null) ? 1796035726 : 1796035727); while (true) { int num2 = num; int num3 = 1796035726; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: goto IL_0052; case 0: return value.MateriaValue; case 1: return 0; } continue; IL_0052: num = 1796035727; } } public bool IsOvercapped(EBaseParam param) { Stats.TryGetValue(param, out StatInfo value); int num = (((object)value != null) ? 1825983400 : 1825983403); while (true) { int num2 = num; int num3 = 1825983401; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_0052; case 1: return value.Overcapped; case 2: return false; } continue; IL_0052: num = 1825983403; } } public bool Has(EBaseParam substat) { return Stats.ContainsKey(substat); } public bool HasMateria() { return Stats.Values.Any((StatInfo x) => x.MateriaValue > 0); } public bool Equals(EquipmentStats? other) { int num = ((other == null) ? 948419368 : 948419369); StatInfo statInfo = default(StatInfo); StatInfo value2 = default(StatInfo); while (true) { int num2 = num; int num3 = 948419368; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 3: num = 948419369; break; case 1: num = ((MateriaCount != other.MateriaCount) ? 948419368 : 948419372); break; case 4: num = ((Stats.Count == other.Stats.Count) ? 948419370 : 948419368); break; case 0: return false; case 2: { using (Dictionary.Enumerator enumerator = Stats.GetEnumerator()) { num = -2102937561; while (true) { int num7 = num; num3 = -2102937566; num4 = num7; int num8 = num4 + num3; int num9 = num4 & num3; switch (num8 - (num9 + num9)) { case 3: return false; case 2: num = (_202B_206A_200D_206F_202E_202A_200C_200F_200D_202D_202B_202B_200C_202E_200B_202B_206A_200E_200F_206C_202D_202B_200C_200D_206E_206A_206B_200D_202C_206E_202C_202D_206F_202E_202A_202A_200C_206A_202B_202C_202E((object)statInfo, (object)value2) ? (-2102937561) : (-2102937567)); break; case 5: num = (enumerator.MoveNext() ? (-2102937562) : (-2102937565)); break; case 0: num = -2102937561; break; case 4: { enumerator.Current.Deconstruct(out var key, out var value); EBaseParam key2 = key; statInfo = value; num = ((!other.Stats.TryGetValue(key2, out value2)) ? (-2102937567) : (-2102937568)); break; } case 1: goto end_IL_00dc; } continue; end_IL_00dc: break; } } return true; } } } } bool IEquatable.Equals(EquipmentStats? other) { //ILSpy generated this explicit interface implementation from .override directive in Equals return this.Equals(other); } public override int GetHashCode() { int num = MateriaCount.GetHashCode(); using Dictionary.Enumerator enumerator = Stats.GetEnumerator(); int num2 = 1490502903; while (true) { int num3 = num2; int num4 = 1490502902; int num5 = num3; int num6 = num5 + num4; int num7 = num5 & num4; switch (num6 - (num7 + num7)) { case 3: num2 = 1490502903; break; case 2: { enumerator.Current.Deconstruct(out var key, out var value); EBaseParam value2 = key; StatInfo value3 = value; num ^= HashCode.Combine(value2, value3); num2 = 1490502903; break; } case 1: num2 = (enumerator.MoveNext() ? 1490502900 : 1490502902); break; case 0: return num; } } } [MethodImpl(MethodImplOptions.NoInlining)] [CompilerGenerated] public override string ToString() { StringBuilder stringBuilder = _206D_200D_206D_206D_200B_200C_206E_200E_206C_200C_206F_206D_202D_206F_202D_202D_200F_202D_206A_202A_206B_206F_202E_206E_200C_206E_202D_202C_202B_200B_200E_200D_202D_200E_202C_206D_202B_206C_202D_202B_202E(); _206D_202C_202C_200D_200B_202D_206F_206D_206A_200F_202B_200F_206E_202C_206E_206E_200D_202C_206E_206C_206F_202D_202D_202B_206F_202A_202A_202D_200E_206D_200F_206D_206B_206F_202C_200B_206C_202E_202D_200D_202E(stringBuilder, global::_003CModule_003E._206E_202B_206C_202A_202A_200E_202B_202B_206D_200B_200C_206B_200B_206D_202E_202D_206C_202B_200B_206A_202D_206C_202A_200F_202D_200C_200B_200B_200B_200D_202C_206E_206D_202E_200C_206B_206A_206D_202D_202C_202E(137609556)); _206D_202C_202C_200D_200B_202D_206F_206D_206A_200F_202B_200F_206E_202C_206E_206E_200D_202C_206E_206C_206F_202D_202D_202B_206F_202A_202A_202D_200E_206D_200F_206D_206B_206F_202C_200B_206C_202E_202D_200D_202E(stringBuilder, global::_003CModule_003E._206E_202B_206C_202A_202A_200E_202B_202B_206D_200B_200C_206B_200B_206D_202E_202D_206C_202B_200B_206A_202D_206C_202A_200F_202D_200C_200B_200B_200B_200D_202C_206E_206D_202E_200C_206B_206A_206D_202D_202C_202E(1808631505)); int num = ((!PrintMembers(stringBuilder)) ? (-1401190179) : (-1401190180)); while (true) { int num2 = num; int num3 = -1401190179; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: _200C_206A_202D_200E_200F_200E_200C_202A_200E_200E_206B_202A_202A_206B_202B_206E_202D_202D_206A_206A_202C_206D_206B_200F_206A_200F_202D_200D_202C_200F_200F_200F_206A_206A_206C_206C_200E_200F_200D_206B_202E(stringBuilder, '}'); return _202E_200B_206C_202B_206C_200C_202E_206E_206B_206D_202B_202C_202D_202C_206B_202B_206E_202B_202D_206E_206C_200C_202A_206C_206F_206F_202C_200F_200C_200F_202B_206A_206A_202E_202E_202A_200D_202C_202C_202E((object)stringBuilder); case 1: _200C_206A_202D_200E_200F_200E_200C_202A_200E_200E_206B_202A_202A_206B_202B_206E_202D_202D_206A_206A_202C_206D_206B_200F_206A_200F_202D_200D_202C_200F_200F_200F_206A_206A_206C_206C_200E_200F_200D_206B_202E(stringBuilder, ' '); num = -1401190179; break; case 2: num = -1401190180; break; } } } [MethodImpl(MethodImplOptions.NoInlining)] [CompilerGenerated] private bool PrintMembers(StringBuilder builder) { _206C_202B_202C_202E_202C_206E_206E_200F_202B_200C_200C_202B_202D_206C_206F_206D_206E_200D_202C_206F_202D_202E_202A_206D_206A_202C_200B_206E_202D_200C_200F_202A_200C_202B_202C_206A_202E_206D_206B_202A_202E(); _206D_202C_202C_200D_200B_202D_206F_206D_206A_200F_202B_200F_206E_202C_206E_206E_200D_202C_206E_206C_206F_202D_202D_202B_206F_202A_202A_202D_200E_206D_200F_206D_206B_206F_202C_200B_206C_202E_202D_200D_202E(builder, global::_003CModule_003E._200E_206F_206C_206C_200E_202A_206D_206B_200B_202D_202B_200F_200F_206B_206C_206F_202D_206F_206A_202D_206A_200B_200B_202B_202D_202C_200F_200D_202E_200E_200D_202A_202B_206F_202E_200E_200B_206B_200E_202E_202E(-716646928)); _200E_202D_206A_200C_206A_200D_202A_200F_200C_206E_202B_206A_200D_206D_206F_206A_206B_206C_206C_202B_206D_200F_200D_200D_200C_206F_200D_200E_206A_206E_200F_202A_202B_200B_206B_206E_202C_200C_200D_202E_202E(builder, (object)Stats); _206D_202C_202C_200D_200B_202D_206F_206D_206A_200F_202B_200F_206E_202C_206E_206E_200D_202C_206E_206C_206F_202D_202D_202B_206F_202A_202A_202D_200E_206D_200F_206D_206B_206F_202C_200B_206C_202E_202D_200D_202E(builder, global::_003CModule_003E._202E_202C_206D_206B_202B_202D_206D_202E_206F_202E_202A_206A_206A_202B_206A_202D_202C_206C_206B_202C_206E_202B_200E_206E_206A_206C_200D_200D_200F_200B_202C_200B_200E_206F_202C_200F_202D_202A_206E_202B_202E(-88604916)); _206D_202C_202C_200D_200B_202D_206F_206D_206A_200F_202B_200F_206E_202C_206E_206E_200D_202C_206E_206C_206F_202D_202D_202B_206F_202A_202A_202D_200E_206D_200F_206D_206B_206F_202C_200B_206C_202E_202D_200D_202E(builder, MateriaCount.ToString()); return true; } static Type _206D_200D_202A_206A_206A_206A_200F_202C_202C_202D_206D_206F_206C_200D_200C_206C_202D_202E_202B_206E_202B_202B_202D_206C_200C_200F_202E_206D_200B_202E_200B_206E_202D_202A_200D_200B_200C_206B_200E_200D_202E(RuntimeTypeHandle P_0) { return Type.GetTypeFromHandle(P_0); } static bool _202B_206A_200D_206F_202E_202A_200C_200F_200D_202D_202B_202B_200C_202E_200B_202B_206A_200E_200F_206C_202D_202B_200C_200D_206E_206A_206B_200D_202C_206E_202C_202D_206F_202E_202A_202A_200C_206A_202B_202C_202E(object P_0, object P_1) { return object.Equals(P_0, P_1); } static StringBuilder _206D_200D_206D_206D_200B_200C_206E_200E_206C_200C_206F_206D_202D_206F_202D_202D_200F_202D_206A_202A_206B_206F_202E_206E_200C_206E_202D_202C_202B_200B_200E_200D_202D_200E_202C_206D_202B_206C_202D_202B_202E() { return new StringBuilder(); } static StringBuilder _206D_202C_202C_200D_200B_202D_206F_206D_206A_200F_202B_200F_206E_202C_206E_206E_200D_202C_206E_206C_206F_202D_202D_202B_206F_202A_202A_202D_200E_206D_200F_206D_206B_206F_202C_200B_206C_202E_202D_200D_202E(StringBuilder P_0, string P_1) { return P_0.Append(P_1); } static StringBuilder _200C_206A_202D_200E_200F_200E_200C_202A_200E_200E_206B_202A_202A_206B_202B_206E_202D_202D_206A_206A_202C_206D_206B_200F_206A_200F_202D_200D_202C_200F_200F_200F_206A_206A_206C_206C_200E_200F_200D_206B_202E(StringBuilder P_0, char P_1) { return P_0.Append(P_1); } static string _202E_200B_206C_202B_206C_200C_202E_206E_206B_206D_202B_202C_202D_202C_206B_202B_206E_202B_202D_206E_206C_200C_202A_206C_206F_206F_202C_200F_200C_200F_202B_206A_206A_202E_202E_202A_200D_202C_202C_202E(object P_0) { return P_0.ToString(); } static void _206C_202B_202C_202E_202C_206E_206E_200F_202B_200C_200C_202B_202D_206C_206F_206D_206E_200D_202C_206F_202D_202E_202A_206D_206A_202C_200B_206E_202D_200C_200F_202A_200C_202B_202C_206A_202E_206D_206B_202A_202E() { RuntimeHelpers.EnsureSufficientExecutionStack(); } static StringBuilder _200E_202D_206A_200C_206A_200D_202A_200F_200C_206E_202B_206A_200D_206D_206F_206A_206B_206C_206C_202B_206D_200F_200D_200D_200C_206F_200D_200E_206A_206E_200F_202A_202B_200B_206B_206E_202C_200C_200D_202E_202E(StringBuilder P_0, object P_1) { return P_0.Append(P_1); } }